Re: Mathematica-like Language Implementation

Andrew Mauer-Oats <>
19 Feb 2000 00:29:21 -0500

          From comp.compilers

Related articles
Mathematica-like Language Implementation (Nicolás) (2000-02-17)
Re: Mathematica-like Language Implementation (Andrew Mauer-Oats) (2000-02-19)
| List of all articles for this month |

From: Andrew Mauer-Oats <>
Newsgroups: comp.compilers
Date: 19 Feb 2000 00:29:21 -0500
Organization: University of Illinois at Urbana-Champaign
References: 00-02-088
Keywords: design

"Nicolás" <> writes:
> I am in the course of developing a general purpose system programming
> language for Linux. My original idea of this language was for it to be
> a system programming version of Mathematica's programming language.
> [...]
> Now, I am looking for any kind of advice or help on how to implement
> this kind of language from someone who has used Mathematica.

This may sound discouraging, but it is really intended to indicate the
depth of the problem I think that you are interested in. (I assume
that you are not really trying to invent the next "C"... apologies if
you are.)

Wolfram knew a lot when he wrote Mathematica. Your project is really
going to be to learn something of why what he did is "right" (IMO,
anyway). I have a hardcopy of a transcript of a talk he gave on the
design of Mathematica, and it is very informative. You can probably
find it on the web if you look.

What I believe you will learn is that Mathematica is very closely
based on lisp and CLOS. Learn about those. (Random (and probably not
important) question to consider: "Where are common lisp macros in

This leads to learning about Olin Shivers' scsh, the scheme
shell. (Which is actually probably not as deep of a pool as all of
Common Lisp, and probably a better starting place.)

To end on an optimistic note -- either CL or scsh could be a good
platform to start from if you were interested in doing even more.

/Andrew Mauer-Oats/

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.