> It was the stackmark that _really_ annoyed me. The fact that the vector
> version was different just rubbed it in. I think it's gross to have
> such a thing as a genuine item that gets popped off the stack. I'd
> rather have something that was transparent to popping. Then the
> semantics of % .. % would be something like "collect together
> everything that is put on the stack as a result of doing this
> and put it into the appropriate structure".
Because popstackmark is a genuine item you can always do
define swap(a,b);
b,a;
enddefine;
[a],[% swap(); hd(); %] =>
or maybe you would prefer
[a];
vars l = [];
hd() :: l =>
Anthony.Worrall@Reading.ac.uk
PS
What procedure uses sysSWAP?
|