Live data from Hacker News

Why Wolfram Mathematica did not use Lisp (2002)

ymeme.com

141–145 of 145 posts

Re: Why Wolfram Mathematica did not use Lisp (2002)

#141
post #5

Random Wolfram story, was at lunch yesterday at my old college and respected computer scientist who originally interviewed me. He told me that he first showed Wolfram a computer. This guy was a friend of Wolfram's mother who asked for help because 8 year old Stephen was "bored with dinosaurs" and wanted something else to think about.

How did the respected computer scientist feel about having unleashed Stephen Wolfram upon the computing world? :)

Well at least he diverted him away from dinosaurs, otherwise Jurassic Park might have been a documentary!

Re: Why Wolfram Mathematica did not use Lisp (2002)

#142
post #19

Earlier quoted context omitted.

And with good cause, I think. Mathematica syntax (both the verbose form and with the various syntactical sugar) is immensely more readable to the average person than Lisp. Of course, this could have been done on top of Lisp anyways (and wouldn't that be nice?)

Surprise, Macsyma, which is written in Lisp has that syntax. Macsyma is the earlier computer algebra system, which Kent Pitman mentioned in that post. He also mentions that Wolfram knew Macsyma. Example: applysymmetry(exp,opdum,symtype):=block( [getdum:get(opdum,symtype),piece,inflag:true,partswitch:true], if getdum=false then return(exp), subst(lambda([[arglist]], apply('aplsym1,append(getdum,[arglist,opdum]))), opd…

This still seems more limited than the Mathematica syntax, which includes postfix operators, for example. I also appreciate that parentheses are used only for grouping, not for function calling and such. I'm not saying this couldn't have been done with Macsyma or on top of Lisp more generally (indeed, that would be nice), or that Mathematica wasn't influenced by Macsyma; I'm saying that purely for syntax, I think Mathematica ended up with a better, more extensive, and easier-to-use system than pretty much any other language.

Re: Why Wolfram Mathematica did not use Lisp (2002)

#143
post #7

Isn't Mathematica very Lispy? It looks like R-expressions.

Well M-expressions to be more precise. Actually if you ask some they'll tell you that Mathematica is the only Lisp that implemented them.

Dylan is a lisp with readable syntax.

Re: Why Wolfram Mathematica did not use Lisp (2002)

#144
post #134
post #115

Earlier quoted context omitted.

For this domain which is largely compute bound when it counts, for the PC systems it was targeting back in those days, C was almost certainly the right choice if you had enough resources for the extra programming work required. Commercial Macsyma is ... a special, and rather sad case. As explained to me by Danny Hillis in 1982-3 when he wished my company, LMI, could provide Lisp Machines for Thinking Machines, Inc. t…

> In house, Symbolics treated it with benign neglect, and I don't think it was massively improved. There is a lot of butthurt from various people, who seem to know better how to run a company in hindsight. Symbolics sold Macsyma on various platforms: Lispm, Windows, DEV Vax, Sun Unix. > it never got development resources commensurate with its actual status and potential. Symbolics was still selling Macsyma at a time…

There is a lot of butthurt from various people, who seem to know better how to run a company in hindsight. Symbolics sold Macsyma on various platforms: Lispm, Windows, DEV Vax, Sun Unix.

The exclusive licencing to Symbolics resulted in a delay in porting it to non-Lispm platforms, due in part to the cited internal opposition. And not too much later Symbolics effectively exited the market; they too have a lot to say about how not to run a company.

Symbolics was still selling Macsyma at a time when competitors like LMI or TI were no longer in the Lisp business.

Yet for some explicable reason people stopped buying it and its market-share crashed to 70% to 1% in 5 years.

Re: Why Wolfram Mathematica did not use Lisp (2002)

#145
post #19

Earlier quoted context omitted.

Surprise, Macsyma, which is written in Lisp has that syntax. Macsyma is the earlier computer algebra system, which Kent Pitman mentioned in that post. He also mentions that Wolfram knew Macsyma. Example: applysymmetry(exp,opdum,symtype):=block( [getdum:get(opdum,symtype),piece,inflag:true,partswitch:true], if getdum=false then return(exp), subst(lambda([[arglist]], apply('aplsym1,append(getdum,[arglist,opdum]))), opd…

This still seems more limited than the Mathematica syntax, which includes postfix operators, for example. I also appreciate that parentheses are used only for grouping, not for function calling and such. I'm not saying this couldn't have been done with Macsyma or on top of Lisp more generally (indeed, that would be nice), or that Mathematica wasn't influenced by Macsyma; I'm saying that purely for syntax, I think Mat…

Macsyma also has postfix operators.
Post reply on HN