I personally find map maySwitch (unfoldr go (x1,y1,0)) and map maySwitch $ unfoldr go (x1,y1,0) more intuitive.
I can read it as map the maySwitch function over the list generated from the unfolding. Is there any difference in the evaluation steps between the composition version and the non-composition version? Regards, Kashyap ________________________________ From: david48 <dav.vire+hask...@gmail.com> To: Ryan Ingram <ryani.s...@gmail.com> Cc: Johan Tibell <johan.tib...@gmail.com>; haskell-cafe@haskell.org; CK Kashyap <ck_kash...@yahoo.com> Sent: Friday, July 31, 2009 11:56:17 AM Subject: Re: [Haskell-cafe] Need feedback on my Haskell code On Fri, Jul 31, 2009 at 5:53 AM, Ryan Ingram<ryani.s...@gmail.com> wrote: > Read ($) as a parenthesis that extends as far to the right as > possible; so you can write, for example: That doesn't always work, for example : map (+2) . map (*1) $ [1,2,3] = [4,6,8] Now replacing the $ by a parenthesis that extends as far to the right as possible : map (+2) . map (*1) ( [1,2,3] ) <interactive>:1:11: Couldn't match expected type `a -> [a1]' against inferred type `[a2]' In the second argument of `(.)', namely `map (* 2) ([1, 2, 3])' In the expression: map (+ 2) . map (* 2) ([1, 2, 3]) In the definition of `it': it = map (+ 2) . map (* 2) ([1, 2, 3])
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe