On Thu, Jan 21, 2010 at 6:55 AM, Daniel Fischer
Am Donnerstag 21 Januar 2010 15:02:11 schrieb Zbigniew Stanasiuk:
Hi all,
I've just started learning Haskell and I have no idea how to nest function in following structure: Mod(5*Mod(4*Mod(3*Mod(2*Mod(1, m), m), m), m), m) ... etc. Could someone help me.
Instead of func(a,b), write func a b. Arguments which are compund expressions themselves must be parenthesized, so
mod (5*mod (4*mod (3*mod (2*mod 1 m) m) m) m) m
But that is completely unreadable.
foldl' (\z x -> (x*z) `mod` m) 1 [1 .. 5]
To the untrained eye, the first version contains a lot less weird syntax. You only have to know what mod does, and how parenthesis work, both of which you learn in the third grade or so. -- Joe Van Dyk http://fixieconsulting.com