[Haskell-cafe] CPS versus Pattern Matching performance

Donald Bruce Stewart dons at cse.unsw.edu.au
Tue Jul 10 05:01:14 EDT 2007


lemming:
> 
> On Tue, 10 Jul 2007, Tony Morris wrote:
> 
> > Is your explanation specific to maybe? Or does that apply to all functions?
> >
> > Suppose the following function for lists:
> >
> > f :: [a] -> b -> (a -> [a] -> b) -> b
> >
> > ...instead of pattern matching [] and (x:xs)
> 
> A foldr without recursion. I use such functions frequently in order to
> hide constructors of a data type. Does this kind of functions has a common
> name?

They're catamorphisms:

    Bool  - cond/if-then-else
    Maybe - maybe
    (,)   - uncurry
    []    - foldr

-- Don


More information about the Haskell-Cafe mailing list