[Haskell-beginners] Re: folds again -- myCycle
Will Ness
will_n48 at yahoo.com
Wed Mar 18 07:19:29 EDT 2009
Bas van Dijk <v.dijk.bas <at> gmail.com> writes:
>
> On Sun, Mar 15, 2009 at 7:35 PM, Will Ness <will_n48 <at> yahoo.com> wrote:
> > which is then just rewritable as:
> >
> > myCycle xs = ys where ys = foldr (:) ys xs
> >
> > or (arriving at the same result)
> >
> > myCycle xs = foldr (:) (myCycle xs) xs
>
> Note that, because 'ys' only has to be calculated once, GHC makes the
> most efficient code for the former one. In the latter 'myCycle xs' has
> to be calculated each time 'xs' runs empty.
>
Actually my point was, that
" I find that "where" rewrites are easier to comprehend for me,
more often than not. :) "
" myCycle xs = ys where ys = foldr (:) ys xs "
which should be exactly as the one with the let.
More information about the Beginners
mailing list