[Fwd: Re: [Maxima] MAXIMA internal representation && introduction]
Subject: [Fwd: Re: [Maxima] MAXIMA internal representation && introduction]
From: Richard Fateman
Date: Sun, 03 Oct 2004 07:30:36 -0700
-------- Original Message --------
Subject: Re: [Maxima] MAXIMA internal representation && introduction
Date: Sun, 03 Oct 2004 07:30:01 -0700
From: Richard Fateman <fateman at cs>
Organization: University of California, Berkeley
To: Siver Andrey <siver@sirius.ihep.su>
CC: Richard Fateman <fateman@cs.berkeley.edu>
References: <003c01c4a92c$2cdd43d0$f3a1bec2@hermes>
Siver Andrey wrote:
> Dears maximalists,
>
> I would like to introduce my project. I intend to develop a free version
> of Mathematica language. There are at least two reasons for that: (1)
> there is no way to build standalone executable with Mathematica; (2)
> there are a number of the software written on Math.
>
> The simplest way to do, of course, is to translate Math. objects into
> internal representation of some language. But what about "expert
> knowledge" (in the field of mathematics)? This problem can be (partly)
> solved translating Math. objects into MAXIMA internal representation
> (and using MAXIMA as the server). However, if MAXIMA expert
> knowledge is needed it will be difficult to build standalone executable,
> I think.
>
> It's the long term project (2-3 years) and by now it's just at the
> beginning. MockMma is a good startpoint to learn of the parsing Math.
> object into CL. My next steps are as followings: (1) build external
> Math. grammar (as close as posible to native Math. grammar); (2) learn
> about MAXIMA internal representation about the objects; (3) build
> (adjust) the parser; (3) learn about how to use MAXIMA as a server; (4)
> build the free version of Mathematica language (for some subset of the
> grammar) with some expert knowledge from MAXIMA.
>
>
> I appreciate to any comments.
>
>
> Andrey Siver,
> Protvino, Russia
Your project has some easy parts and some hard parts.
a. Translating objects from the CL representation used in MockMMA to
internal Maxima objects is
1. Easy for some parts. (Power ....) becomes ((mexpt) .....)
2. Hard for some parts. Mathematica patterns do not exist in Maxima.
I do not know what you mean by "external". Outside Lisp? and then use
this as a standalone executable program that uses a Maxima server?
If you are doing this because you think that Lisp cannot be made
into a standalone executable, then you haven't solved the problem,
have you?
In fact, you can find a lisp that produces standalone executables
right now. So you can start with that lisp, load in MOckMMa and Maxima,
and dump it out into an executable. I don't know how much further you
want to go, but the idea that writing a parser in (say) C or C++ advances
you somewhere, strikes me as unnecessary.
Good luck.
RJF