3 ms·
The post describes how Fexprs were designed in a way that was tightly coupled to implementation choices around eval, in ways which were later limiting. Did you
by abeppu 6y ago
The post describes how Fexprs were designed in a way that was tightly coupled to implementation choices around eval, in ways which were later limiting. Did you experience this? Were there things you might have wanted to change about your lisp which were inhibited by the use of Fexprs?
> FEXPRs and FSUBRs were ... meta-implementation
operators that relied on the meta-circular definition of EVAL
> The problem with FEXPRs is that they are far too powerful and place too many constraints on the implementation.
> FEXPRs were designed
around the fact that the language had a meta-circular definition that was
implemented via recursive descent of list structure.
> A FEXPR, on the other hand, is a program that is deliberately
not abstracted away from the concrete representation.
> A FEXPR manipulates objects on both sides
of the isomorphism (yuck), so Big-P and Big-P^-1 cannot be factored out
of the semantics.