Hi, Brent, thanks for pointing it out, it helps.

Regards!
-
wudeng


On Sun, Jul 14, 2013 at 6:58 AM, Brent Yorgey <byorgey@seas.upenn.edu> wrote:
On Sat, Jul 13, 2013 at 05:47:45PM +0800, Deng Wu wrote:
>
> It makes sense to me, so I change the definition of cps to something like
> this:
>
> cfold f z [] = z
> cfold f z (x:xs) = (\y -> cfold f y xs) (f x z)

Note that if we just reduce the application of (\y -> ...) to (f x z), we get

  cfold f z (x:xs) = cfold f (f x z) xs

But that is just the usual definition of foldl.  So it certainly works
fine but it is not in CPS.

-Brent

_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://www.haskell.org/mailman/listinfo/beginners