Subject: green's functions, passing functions to a routine
From: John Lapeyre
Date: Sun, 7 Sep 2008 20:34:25 -0700
Ok. I am trying to digest all that.
> An easy way to guarantee that you are using the value and not the
> functional value is (+f)(...):
>
> block([f:foo],[f(2),f[2],f]) => [fun, arr, foo, foo()]
Did you mistype something, in the line above, leave out (+f)
somewhere?
> The other alternative is, as Robert says, some sort of convention, e.g.
> calling functional arguments %f or whatever.
Am I incorrect in thinking that using 'apply' instead of a function
call is also a reasonable solution to the problem ?
> > fold(f,x,v) := block([res],
> > res:apply(f,[x,v[1]]),
> > for a in rest(v,1) do
> > res:apply(f,[res,a]),res);
> >