Hi, Thank you all for you replies.
I think now I understand Haskell better. Best regards, Frodo 2011/10/12 Frodo Chao <frodogr...@gmail.com> > Hi, > > I came upon this when playing with foldr and filter. Compare the two > definitions: > > testr n = foldr (\x y -> x && y) True [t | (_, t) <- zip [1 .. n] [True, > True ..]] > testr' n = foldr (\x y -> y && x) True [t | (_, t) <- zip [1 .. n] [True, > True ..]] > > I tried these functions on ghci (The Glorious Glasgow Haskell Compilation > System, version 7.0.3), and get the following results (with :set +s): > > testr 1000000 => True > (0.01 secs, 7920832 bytes) > testr' 1000000 => True > (8.72 secs, 446585344 bytes) > > This bizarre (at least to me) behavior also applies to ||. Should I mind > the orderings of the parameters (especially the accumulator) in the function > passed to foldr? > > Thak you for reading. > > Sincerely yours, > Frodo Chao > >
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users