4 ms·
See FEXPRs in Lisp. https://en.wikipedia.org/wiki/Fexpr https://en.wikipedia.org/wiki/Fexpr and http://www.nhplace.com/kent/Papers/Special-Forms.html http://
by lispm 11y ago
See FEXPRs in Lisp.
https://en.wikipedia.org/wiki/Fexpr https://en.wikipedia.org/wiki/Fexpr
and
http://www.nhplace.com/kent/Papers/Special-Forms.html http://www.nhplace.com/kent/Papers/Special-Forms.html
Passing unevaluated code into Lisp functions was widely used in Lisp. Long ago.
It is no longer, since macros are typically simpler to understand and easier to integrate into a compilation model.
In Symbolics Genera, which has weak support for FEXPRs:
(defun print-reverse zl:fexpr (form)
(print (reverse (first form))))
Calling (print-reverse (+ 1 2)) does print (2 1 +)
- eggy 11y ago@lispm see the reference I made to FEXPRs in reply below (http://axisofeval.blogspot.co.id/2011/07/meaning-of-forms.html http://axisofeval.blogspot.co.id/2011/07/meaning-of-forms.ht...) You seem to be a lot more knowledgeable than I on Lisp. It seems there's a divide on FEXPRs and macros when I look into further references. What's your take on it aside from the Pitman paper you cited? Is is possible something useful was thrown away from CL, or Pitman's argument holds? PicoLisp seems to implement FEXPRs a bit from my limited knowledge. I am currently in a death spiral of LFE, Chez Scheme, PicoLisp, Extempore (xtlang), and Shen, not to mention my necessary forays into elisp, since I use spacemacs! I need to choose one, only one. Thanks.