Duh, I made a typo in my previous emails, I did mean a -> (b -> c) and not a -> 
(b,c). But you guys quickly corrected that

IMHO when reading

http://haskell.org/haskellwiki/Currying

a newbie like me cannot see the difference between currying and partial 
application...

I quote the text:

--------------------

"Currying is the process of transforming a function that takes multiple 
arguments into a function that takes just a single argument and returns another 
function if any arguments are still needed. In Haskell, all functions are 
considered curried: that is, all functions in Haskell take just single 
arguments.

This is mostly hidden in notation, and so may not be apparent to a new 
Haskeller. Let's take the function

div :: Int -> Int -> Int

which performs integer division. The expression div 11 2 unsurprisingly 
evaluates to 5. But there's more that's going on than immediately meets the 
untrained eye. It's a two-part process. First,

div 11

is evaluated and returns a function of type

Int -> Int"

--------------------

But that is partial application, not currying no... Later in the text tuples 
are mentioned, but the real definition of currying being

-- Hope I get it right this time...
curry :: ((a, b) -> c) -> a -> b -> c

is not really clear from the article to me...




>----- Oorspronkelijk bericht -----
>Van: Henning Thielemann [mailto:[EMAIL PROTECTED]
>Verzonden: dinsdag, juli 3, 2007 01:48 PM
>Aan: 'Peter Verswyvelen'
>CC: [email protected]
>Onderwerp: Re:  [Haskell-cafe] Haskell's currying and partial application
>
>
>On Tue, 3 Jul 2007, Peter Verswyvelen wrote:
>
>> Ah, thanks for the correction. So if I understand it correctly, this is 
>> currying:
>
>See also:
> http://haskell.org/haskellwiki/Currying
> http://haskell.org/haskellwiki/Partial_application
>
>and more generally:
> http://haskell.org/haskellwiki/Category:Glossary
>
>


_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to