OK, I get the reference to currying now.  A function of 2 variables can be seen 
as a function of one that returns another function of one.  So a function of 
one variable can be seen as a function of no variables that returns a function 
of one.  Very nice.

----- Original Message ----
From: Tim Chevalier <[EMAIL PROTECTED]>
To: Gregory Propf <[EMAIL PROTECTED]>
Cc: [email protected]
Sent: Monday, July 2, 2007 5:37:41 PM
Subject: Re: [Haskell-cafe] Very simple parser

On 7/2/07, Gregory Propf <[EMAIL PROTECTED]> wrote:
>
>
>
> This was a bit baffling too.  It appears that there's an implied argument to 
> runTick.  This also works and makes it more explicit.  I suppose the compiler 
> just works out that the only place to put the 'n' is after tick.
>
> runTick :: Int -> (String,Int)
> runTick n = runState tick n
>

Not exactly. Look up "currying". (Writing out the same definition with
the argument "n" specified explicitly like you did is called
"eta-expansion", by the way.)

Cheers,
Tim

-- 
Tim Chevalier* catamorphism.org *Often in error, never in doubt
"My writing is all completely autobiographical. That's why I write
lesbian vampire stories." -- Jewelle Gomez







       
____________________________________________________________________________________
Got a little couch potato? 
Check out fun summer activities for kids.
http://search.yahoo.com/search?fr=oni_on_mail&p=summer+activities+for+kids&cs=bz
 
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to