view functional.rhope @ 78:4d5ea487f810

Working String implementation and some basic (but nowhere near exhaustive) tests
author Mike Pavone <pavone@retrodev.com>
date Thu, 08 Jul 2010 21:55:47 -0400
parents 004f0fc8941f
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
	}
}