Hacker News new | past | comments | ask | show | jobs | submit login

Wolfram Language is essentially Lisp with M-expressions instead of S-expressions, coupled with a clone of MIT’s MACSYMA symbolic mathematics system built around term rewriting.

Mathematica is the Wolfram Language plus a user interface similar to the Symbolics Dynamic Listener that acted as your command line front end. Jupyter Notebooks are quite similar since the idea of a scientist’s or engineer’s notebook where content is “live” is a pretty common one.




Though Lisp does not use the kind of a rule-based term rewrite system for computation, like Mathematica.


That depends entirely on your definitions when you’re dealing with a listener, especially a sophisticated one like the Symbolics Dynamic Listener or the CLIM Listener. If you want the forms entered to go through term rewriting before or as part or evaluation, that’s entirely feasible.


One can develop rule-based term rewriting systems in Lisp (and integrate them) and there are some, but itself is not defined or implemented as such.

That can be seen by the clumsy implementation of lexical scope (renaming vars, etc.) in Mathematica or the limited compilation of the Mathematica language.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: