19 Feb 2000 00:29:21 -0500

Related articles |
---|

Mathematica-like Language Implementation lojedaortiz@interlink.com.ar (Nicolás) (2000-02-17) |

Re: Mathematica-like Language Implementation mauer@math.uiuc.edu (Andrew Mauer-Oats) (2000-02-19) |

From: | Andrew Mauer-Oats <mauer@math.uiuc.edu> |

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" <lojedaortiz@interlink.com.ar> 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

Mathematica"?)

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.