4 ms·
So if lisp is so great and so are reader macros, why didn't Macsyma/Maxima win over Mathematica? It is just a bunch of reader macros and lisp, right? It seems l
by jordigh 11y ago
So if lisp is so great and so are reader macros, why didn't Macsyma/Maxima win over Mathematica? It is just a bunch of reader macros and lisp, right? It seems like a CAS is a prime use case for lisp to really shine.
Why isn't anyone else writing new CASes in lisp?
- sklogic 11y agoMathematica is a Lisp.
- jordigh 11y agoYeah, yeah, so are Javascript and R, right? No, really, why isn't Mathematica an actual lisp, one with a completely homoiconic language and with (reader) macros? Why aren't people writing modern CASes in lisp?
- ics 11y agoDoesn't answer your question specifically but it's still relevant: Why Wolfram Mathematica did not use Lisp (2002) (https://news.ycombinator.com/item?id=9797936 https://news.ycombinator.com/item?id=9797936)
- sklogic 11y agoMathematica is homoiconic. And instead of reader macros it is using configurable presentation transformers (Mathematica notebooks) for different visual representation (and WYSIWYG editing) of the underlying Lisp-like lists. Even graphics in Mathematica is nothing but lists internally.
- dragonwriter 11y ago> Why isn't anyone else writing new CASes in lisp? Because Maxima exists and is open source, so people interested in better Lisp-based CASes are just contributing to Maxima.
- jordigh 11y agoI have heard that Maxima's source code is unreadable 1960's lisp and nobody actually tries to understand it, they just pile on more to the existing mess. Is that true?
- hga 11y agoWell, the best quote by Joel Moses, the father of Macsyma and therefore Maxima, is: APL is like a beautiful diamond - flawless, beautifully symmetrical. But you can't add anything to it. If you try to glue on another diamond, you don't get a bigger diamond. Lisp is like a ball of mud. Add more and it's still a ball of mud - it still looks like Lisp. So if your thesis is correct, that shouldn't be an big problem, unless there's something really wrong with the core.
- bitwize 11y agoBecause Lisp ran like shit on even the high-end hardware of that day. Plus it was proprietary -- nothing like SBCL existed. By using C Wolfram was able to offer a much more performant system with much lower TCO. Combine that with his legendary self-promotion skills and you have a juggernaut in the marketplace.
- hga 11y agoMaclisp ran quite fast on the PDP-10, even faster than DEC's FORTRAN (for a while, DEC was sufficiently embarrassed they put more effort into it). High quality Lisps being proprietary during the chaotic '80s through the early-mid '90s was certainly an issue for Maxima, but for the licensed Macsyma (see my other comment on the history) I think that would have been an acceptable part of the cost of goods; too bad Symbolics demanded you by one of their Lisp Machines to run it for too long. Self-promotion ... yeah, Mathematica wins hands down there ^_^.
- hga 11y agoSo if lisp is so great and so are reader macros, why didn't Macsyma/Maxima win over Mathematica? There's one very specific reason: somehow, someway, a deal was set up where Symbolics managed to get the sole commercial licence to it, as far as we can tell to require users to buy one or more of their machines to use it, if they weren't using MIT-MC, a fast ECL KL10, but still just one machine. Stephen Wolfram had already gotten screwed at least as badly as Joel Moses did by CalTech WRT to his Symbolic Manipulation Program (SMP), but I suppose among other things, not having tenure, nor more than a 5 year association with CalTech (by comparison, Joel eventually became Provost), nor as much invested in SMP, he left, and after 3 years at the IAS, presumably was damned sure to dot all his i's and cross all his t's when he started the next version. tl;dr: Macsyma was put in the hospital as a toddler and never really recovered, SMP was strangled in its cradle, and with the hindsight of history, Mathematica avoided these fates.