Hello Rob,
The problem with your code is that within your
lambda, you're trying to access an
f which isn't bound in its environment because it isn't enumerated in
lambda's list of formal parameters. The
f in
let and the
f within
lambda are two different
fs, and it is the
f in
lambda that is flagged as unbound, which is only natural IMHO.
In some dialects, you may try to
define local vars but this clearly isn't what you want to do, n'est-ce pas? So just forget. This is a dead end, and any dialect that would actually let you do it
is not Scheme.
See how I've grown up to criticise your LISP code, Rob?