hawkeye
hawkeye

Reputation: 35692

Does adding f-exprs simplify the implementation of macros from fundamental expressions in LISP?

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

Answers (1)

Manuel Simoni
Manuel Simoni

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

Related Questions