On Sun, 2012-05-06 at 12:54 -0700, Steve Haflich wrote:
I'm mildly opposed to trying to impose syntax extensions on the language if the only motivation is slight convenience. ANSI CL is 20 years old, and there are a lot mostly-conforming but old and unsupported implementations out there, and this syntax won't work out of the box.
I personally don't care about about modern code being able to run on old implementations, only(if slightly) about old code running on modern implementations, so continuously adding features is fine.
Besides, I find that feature expressions like #+never #+notyet # +nomore or #+bug456 provide useful self documentation about conditionals, while we programmers are often lazy about adding real documentation about changes.
It's difficult to put all necessary explanation inside a single symbol, even a Haiku requires two verses
But if you really like this syntax, there is nothing in the ANS that would preclude a source module from including the necessary read-time set-dispatch-macro-char call early in its own source.
Module-local syntax would be nice, but there is currently no editor(Emacs) and ASDF support for that so I won't use it
And if all you are concerned about is that someone might have pushed :NIL onto the features list, the syntax #+(or) is logically and portably unscrewable. I know programmers who use it, although I find it lexographically tedious. If God had intended me to spend so much time and energy engaging the shift key, he would have given me three thumbs or he would have given all computers Lispm keyboards.
Many Europeans(like me) manage to write CL even if #( is shifted, and ## is on AltGr