Reputation: 35692
This guy reckons that adding fexprs to LISP dramatically simplifies the implementation of the language in scheme.
Here we see how macros would be implemented using MacCarthy's LISP.
My question is - does adding f-exprs simplify the implementation of macros in LISP?
Upvotes: 9
Views: 1021
Reputation: 156
I'm that guy. :)
Fexprs, as in the Kernel language, dramatically simplify the language - Kernel has only three built-ins: $define! (for adding a new binding to an environment), $if (the usual), and $vau (similar to lambda, but doesn't evaluate its arguments).
Furthermore, macros (fexprs) may be used as functions can - unlike current Lisps, where macros work separate from runtime. This makes the language more general.
That said, there are as of yet no real-world applications written in Kernel or another new Lisp with fexprs. This is an area of active tinkering by a handful of people.
Upvotes: 14