[cdr-discuss] Three RFCs
Pascal Costanza
pc at p-cos.net
Tue Mar 18 12:50:28 UTC 2008
On 18 Mar 2008, at 13:46, Pascal Costanza wrote:
>
> On 18 Mar 2008, at 12:52, Edi Weitz wrote:
>
>> On Tue, 18 Mar 2008 12:36:47 +0100, Pascal Costanza <pc at p-cos.net>
>> wrote:
>>
>>> ...but that's ambiguous:
>>
>> Only if you insist on having a short form without parentheses.
>> That's
>> not a hard-and-fast requirement.
>
> What about backwards compatibility?
>
> Or to put it differently: Are we talking about an extension of
> cl:case, or a new case that's different from cl:case?
>
>>> (case (thing :test #'=)
>>> (42 'foo)
>>> (4711 'bar))
>>>
>>> What's the result of that form?
>>
>> Error: The variable THING is unbound.
>
> There was a binding for a function and a variable thing in my example.
>
> cl:case would interpret the second form as a call of the function
> thing, and that should remain so for backwards compatibility.
BTW, even if we are talking about a new my-case, it may be a good idea
to remain backwards compatible to ease 'refactoring' between cl:case
and my-case. It would be an unnecessary source of bugs if you had to
add or remove parentheses in the first argument when you want to go
from one operator to the other. These are things that are easily
forgotten, especially if something looks otherwise innocuous.
Pascal
--
1st European Lisp Symposium (ELS'08)
http://prog.vub.ac.be/~pcostanza/els08/
Pascal Costanza, mailto:pc at p-cos.net, http://p-cos.net
Vrije Universiteit Brussel, Programming Technology Lab
Pleinlaan 2, B-1050 Brussel, Belgium
More information about the cdr-discuss
mailing list