[cdr-discuss] Three RFCs

Pascal Costanza pc at p-cos.net
Tue Mar 18 10:40:11 UTC 2008


On 18 Mar 2008, at 11:08, Leslie P. Polzer wrote:

>
> Dear Gary,
>
>> doesn't leave much room for options. Are you thinking of something  
>> like
>>
>> (defmacro my-case ((it &key test key) &body clauses) ...)
>>
>> so that it would look like
>>
>> (my-case (thing :test 'foo)
>>  (<case1> <form1>)
>>  ...
>>  )
>
> Yes, something like that.
> Of course, the best solution would consist of being able to say just
>
> (case thing :test #'equal
>  (<case1> <form1>)
>  (...))
>
> but I believe the macro lamda list syntax won't let us.

That's not an issue:

(defmacro case (thing &body body)
   ...)

...and do the parsing of body manually inside the macro. For example,  
defmethod and define-method-combination have to do that as well.

In case of case (ha!), the parsing should be easy: What follows after  
thing is either :test or a cons, that's easy to distinguish.


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