[Haskell-cafe] Re: help with Haskell programming
Jason Dagit
dagit at codersbase.com
Mon Apr 19 12:11:32 EDT 2010
On Sun, Apr 18, 2010 at 10:25 AM, Sean Leather <leather at cs.uu.nl> wrote:
>
>
>> This is the annoying part about Haskell . I can not understand composition
>> .
>>
>
> One of the ways of understanding composition (and many other functions in
> Haskell) is by trying to understand its type. Here it is shown by looking at
> the type in the interpreter GHCi.
>
> *Main> :t (.)
> (.) :: (b -> c) -> (a -> b) -> a -> c
>
> It's a function that takes three arguments, the first two of which are
> functions, and the third is something else.
>
As you mention below the function arrow (->), is right associative. For
this reason I like to think of the above function as binary, instead of a
function of 3 arguments. Making the associativity explicit we can rewrite
it:
(.) :: (b -> c) -> (a -> b) -> (a -> c)
Now we can see that it is a binary function on functions. You're mileage
may vary, but I find this form more intuitive.
Jason
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20100419/56771051/attachment.html
More information about the Haskell-Cafe
mailing list