--- On Thu, 8/6/09, Erik Huelsmann ehuels@gmail.com wrote:
Well, for the purpose of testing the performance impact of being able to declare "unspecial", I hacked into ABCL an UNDEFVAR primitive function and adjusted lmdcls.lisp accordingly.
The change takes ABCL from ~3300 seconds to ~ 2020 seconds evaluation time for Maxima's test suite.
Wow, that's great.
It looks to me like - although I agree with you about the archaic nature of it - that Maxima would greatly benefit from (at least with ABCL) specials to be defined more locally: it's more Common Lisp if it does.
Agreed.
About unspecial versus dropping specials automatically at the end of file, I don't have a strong preference, but I am leaning towards automatically dropping them.
I can't tell if Maxima expects specials to be carried over from one file to the next; some code might be written assuming they are, but some other code might be written assuming they are not. Be that as it may, I'm pretty sure the unspecial declaration works for only a few Lisps (for the others it's just a no-op iirc).
I wonder what other Lisps do.
Thanks for your help,
Robert Dodier