> (defun dof (f a b) (f a b))
dof
> (dof #'+ 2 3)
error: unbound function - f
if continued: try evaluating symbol again
1>
In an older DOS version of xlisp, I get the expected answer:
> (defun dof (f a b) (f a b))
DOF
> (dof #'+ 2 3)
5
>
I'm stumped.
Doug
It must have been a *very* old DOS version of xlisp. The problem is that
there is a different namespace for functions and variables. To call a
function passed in as an argument you need to use funcall:
(defun dof (f a b) (funcall f a b))
--
David Betz
db...@xlisper.mv.com
I'll take a wild guess.
| > (defun dof (f a b) (f a b))
| dof
| > (dof #'+ 2 3)
| error: unbound function - f
| if continued: try evaluating symbol again
| 1>
(defun dof (f a b) (funcall f a b)) should work. I guess xlisp 3.02
adheres to the standard Lisp way of not evaluating the functional
position in a form.
| In an older DOS version of xlisp, I get the expected answer:
this is the standard Scheme way, and I think you could only expect that
answer if you were thinking in Scheme terms.
#:Erik
--
religious cult update in light of new scientific discoveries:
"when we cannot go to the comet, the comet must come to us."