
"Leslie P. Polzer" writes:
Finally wrote something up.
Please rip it apart where necessary.
The proposal doesn't say anything how the argument to the :test keyword is dealt with. Judging from the examples, the argument is supposed to be evaluated. I think your effort is misdirected. Why bother obfuscating CL:CASE? Make it a new operator. For example, in (*) I suggested to name such an operator SWITCH, and also proposed another operator called SELECT which behaves similiarly, but also evaluates each clause keys. I think providing the necessary changes to the Alexandria project would be more fruitful. Even more kudos if you grab some existing implementation, and actually come up with an efficient implementation of SWITCH. (In case of SBCL, I think there's actually prior work by Paul Khuong you could take leverage off.) -T. (*) http://common-lisp.net/pipermail/alexandria-devel/2008-June/000194.html