POV-Ray : Newsgroups : povray.off-topic : Invisible: PureData : Re: Invisible: PureData Server Time
3 Sep 2024 17:17:34 EDT (-0400)
  Re: Invisible: PureData  
From: Mike Raiford
Date: 25 Feb 2011 22:56:47
Message: <4d6879ff$1@news.povray.org>
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

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.