Subject: multiple assignment stuff in src/mlisp.lisp
From: Albert Reiner
Date: 26 Feb 2007 23:09:34 +0100
["Robert Dodier" <robert.dodier at gmail.com>, Sat, 24 Feb 2007 14:20:36 -0700]:
> I've merged the multiple-assignment code from share/contrib/defstruct.lisp
> into src/mlisp.lisp.
...
To me, this all looks very usable. However:
> (%i13) a : [1, 2, 3, 4];
> (%o13) [1, 2, 3, 4]
> (%i14) (i : 2, [i, a[i]] : [4, 11]);
> (%o14) [4, 11]
> (%i15) a;
> (%o15) [1, 2, 3, 11]
This I find a bit surprising; based on the earlier examples I would
have expected a => [1, 11, 3, 4], i.e., I thought that the expressions
on the left hand side are evaluated "in parallel", with later
assignments taking precedence over earlier ones (as demonstrated by
[i, i] : [1, 2]).
This policy would not affect the outcome of %i18, by the way.
Best regards,
Albert.