Extending maxima language



On 1/7/07, Andrej Vodopivec <andrej.vodopivec at gmail.com> wrote:

> 1) cond statement (with whatever syntax)

I'm opposed to this. We already have if--then--else.

> 2) assignments to lists:
> something like [a,b,c] == [1,2,3] would be equivalent to a:1, b:2,
> c:3. This could be done by extending : to work in this case or adding
> a new operator == or similar.

This is implemented by defstruct.lisp which is already in share/contrib.
However there were problems with the defstruct stuff so it didn't get
merged into src/. We should take another look at that and clear up
any remaining problems.

e.g.
load (defstruct);
[a, b, c] : [1, x, sin(y)];
values;
  => [a, b, c]
[a, b, c];
  => [1, x, sin(y)]

> 3) unwind_protect:
> I think Barton had an implementation which he posted to this list.

Yes, this is a good idea.

best
Robert