
13 Jul
2013
13 Jul
'13
10:58 p.m.
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