Why do we need funcall in Lisp?
Strictly speaking, funcall would not be needed, but there are some lisps (lisp-2 variants, such as Common Lisp) that separate the variable name space of the function name space. Lisp-1 variants (e.g. Scheme) do not make this distinction. More specifically, in your case, test-func is in the variable name space. (defun foo (test-func args) (funcall … Read more