view functional.rhope @ 76:004f0fc8941f

Fix list implementation
author Mike Pavone <pavone@retrodev.com>
date Wed, 07 Jul 2010 00:36:59 -0400
parents 0083b2f7b3c7
children 6d41b71f1b77
line wrap: on
line source


_Fold[list,index,current,worker:out]
{
	newval <- [worker]Call[current, [list]Index[index], index]
	
	[list]Next[index]
	{
		out <- _Fold[list, ~, newval, worker]
	}{
		out <- Val[newval]
	}
}

Fold[worker,start,list:out]
{
	[list]First
	{
		out <- _Fold[list, ~, start, worker]
	}{
		out <- start
	}
}