[Haskell-cafe] Implementing Mathematica

Jon Harrop jon at ffconsultancy.com
Thu May 31 06:33:32 EDT 2007


On Thursday 31 May 2007 00:10:27 Stefan O'Rear wrote:
> You said that constructing a specification is the hardest part of
> implementing Mathematica, and you also say you managed to clone it.
> Can you reveal your specification, or did WR give you a NDA?

NDA, although I did most of the reverse engineering independently beforehand. 
They use lots of nifty tricks (basically any trick that you can do easily in 
C) but there were plenty of other tricks they didn't try because they are far 
from obvious in C.

I found an interesting alternative was to keep a lazily evaluated set of the 
symbols found in each subexpression. This could be used to cull searches and 
avoid unnecessary rewriting but also had no significant performance overhead.

-- 
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
OCaml for Scientists
http://www.ffconsultancy.com/products/ocaml_for_scientists/?e


More information about the Haskell-Cafe mailing list