3 ms·
Unless I misunderstand what you mean by 'term rewriting', fexpr based lisps are similar - everything is a rewrite on the program tree, but 'normal' functions ev
by mst 13y ago
Unless I misunderstand what you mean by 'term rewriting', fexpr based lisps are similar - everything is a rewrite on the program tree, but 'normal' functions evaluate their arguments before doing things with them, and compile time macros (not reader macros) are effectively a first pass over that tree where any symbol not already bound to a macro is treated as the identity function.
The kernel language and associated $vau calculus go into this more, and I've experimented with it somewhat myself having ported Manuel's wat-js to perl.
- lispm 13y agoRoman E. Maeder: > Pattern matching and term rewriting is the fundamental operating principle of Mathematica’s evaluator. All other programming constructs are implemented by way of term rewriting.