4 ms·
Most languages parse in to a parse tree that looks something like S-expressions, but that parse tree isn't always made of the language's own data structures nor
by Zak 16y ago
Most languages parse in to a parse tree that looks something like S-expressions, but that parse tree isn't always made of the language's own data structures nor available to the user at runtime.
- psykotic 16y agoOf course. Why is that remark relevant here? Mathematica does make its S-expressions available to the user at runtime. They are in fact much more available to the user at runtime than in Lisp because of Mathematica's term rewriting semantics. Furthermore, the transformation from M-expressions into S-expressions isn't a one-way street. By default the notebook interface will render an S-expression as its M-expression equivalent when such exists.