|
![](/i/fill.gif) |
On 2/18/2011 9:59 AM, Invisible wrote:
>>> Mathematica doesn't work this way. The core implements a transformation
>>> engine, and arbitrary precision math. Beyond that, the parser, the
>>> printer, the simplification rules, *everything* is Mathematica source
>>> code, which can be altered at will (if you're so-inclined).
>>
>> Yep :) pretty much how Maxima works. You can define your own operators,
>> their associativity (if any), precedence, and a number of other things.
>> Rules are defined in much the way you described. They're all written in
>> Maxima's language. There are a few intrinsic things: assignment,
>> function calls, and some other syntax glue.... But just about anything
>> can be defined as just about anything else.
>
> I haven't tried this, but I understand that the actual input parser for
> Mathematica is user-defined. You can make it parse, e.g., chemical
> formulas rather than algebra. You can change what function-call syntax
> looks like. And so on.
It can be done with Maxima. It really depends on how far you want to
push it. What probably cannot be done is really low-level changes to the
way it handles input. e.g. altering the basic syntax of the system
without lifting the hood and tweaking the underlying lisp (Though, you
can do this from inside the workbook.
What you can do within Maxima's language is define new operators, set
that operator as postfix, infix, prefix, or nofix, and have fine-grained
control over precedence and associativity. I suppose technically you
could redefine how a function is called within its language.
I'm actually fooling with getting it to simplify boolean algebra by
messing with pattern matching and such, but I haven't wrapped my head
completely around how the matching works, and how to get it to do some
of the more interesting stuff. It's there, they have packages for all
kinds of things, including simplifying inequalities, etc all written in
Maxima's language.
I guess, technically you could do the same thing (have it manipulate
chemical equations instead of mathematical equations, it doesn't seem
like that big of a leap, given the simplifier engine) inside of Maxima.
> Then again, you don't buy a £7,000 CAS system in order to modify it into
> something that doesn't do math. ;-)
Yeah, well ;) Its like someone using 3D-Studio MAX to produce blueprints
of a mechanical part.
Post a reply to this message
|
![](/i/fill.gif) |