4 ms·
What language features distinguish Mathematica from lisp? Are we just talking about the m-expression syntax, or are there more fundamental differences?
by jwmerrill 11y ago
What language features distinguish Mathematica from lisp? Are we just talking about the m-expression syntax, or are there more fundamental differences?
- reikonomusha 11y agoMathematica's evaluator is based much more on term rewriting and defaulting free variables as symbol objects. Lisp requires everything to be much more explicit (which has many pros and a few cons).
- fnordsensei 11y agoUnless you write a DSL that evaluates in the manner you want.
- nswanberg 11y agoHere's what Wolfram wrote about Mathematica vs lisp in the first Mathematica book: http://reference.wolfram.com/legacy/v1/contents/4.2.7.pdf http://reference.wolfram.com/legacy/v1/contents/4.2.7.pdf I don't know enough about lisp implementations to know if these differences still hold, but they still hold for Clojure and ClojureScript, for example. Though some people have done some experimentation like https://github.com/kovasb/combinator https://github.com/kovasb/combinator In the email under discussion though Wolfram was beginning work on SMP, which preceded Mathematica by about 6 years and influenced the design of Mathematica both in what to do and what not to do: http://blog.stephenwolfram.com/2013/06/there-was-a-time-before-mathematica/ http://blog.stephenwolfram.com/2013/06/there-was-a-time-befo...
- hga 11y agoThing is, you wouldn't develop a system like Mathematica without writing those sorts of things on top of your Lisp implementation. As MACSYMA, the first of these programs did, which he used prior to starting on SMP, even using a similar syntax per this comment https://news.ycombinator.com/item?id=9798643 https://news.ycombinator.com/item?id=9798643