I looked into this myself..
I suggest that the patch to mset, in the file
http://www.cs.berkeley.edu/temp/msethack.lisp
be put into the file mlisp.lisp.
I did not start with the latest CVS mlisp.list, but what I
had on my computer. I added 2 lines to a COND,
but also improved error messages.
the purpose... it permits the behavior below.
Except that I can't write rjf.last: fateman.
The precedence is wrong. I have to write (rjf.last): fateman.
Thnx
RJF
Richard Fateman wrote:
> example..
>
> defstruct(person(last,first,birthday,weight));
> rjf:new(person);
> rjf.last: fateman;
> rjf.first: richard;
> rjf.weight: 195*pounds;
>
> /* dieting ... */
>
> rjf.weight: 0.95*rjf.weight.
>
>
> Some of this can be done by tellsimp(a.b, lookup_field(b,
> lookup_structure(a))) ; or some such.
>
> But not the assignment, which requires what, in common lisp, would
> be a "defsetf".
>
> Anyone interested in looking into this? (While you are at it,
> look at possible extensions to make Maxima look like Java, say.)
...