[Openmcl-devel] multiple read-time conditionals, puzzlement

Robert Goldman rpgoldman at sift.info
Mon Mar 13 14:25:39 PDT 2023


I had a correspondence about this a long time ago, but alas I cannot 
find it (no great keyword choices).

Probably the best source I can point you at is this discussion in 
Franz's Allegro documentation:

https://franz.com/support/documentation/10.1/doc/implementation.htm#nested-conditionals-3


Unfortunately, even this discussion does not have pointers to the 
specification.

On 13 Mar 2023, at 16:06, Tim McNerney wrote:

> Would someone mind quoting “chapter and verse”?
>
> Somehow, even those of us with decades of Common Lisp experience, all 
> trying to follow the drama of the X3J13 committee, a bunch of us 
> “missed the memo” about this convenient, allegedly legal, but 
> “buyer beware” syntax.
>
> Yes, I absolutely hate
>      #+foo :keyword #+foo argument too.
>
> --Tim
>
>> On Mar 13, 2023, at 14:00, Robert Goldman <rpgoldman at sift.info> 
>> wrote:
>>
>> 
>> On 13 Mar 2023, at 12:42, Ron Garret wrote:
>>
>> Oh, forgot to add...
>>
>> On Mar 13, 2023, at 10:20 AM, Arthur Cater <arthur.cater at ucd.ie> 
>> wrote:
>>
>> It never previously occurred to me that read time conditionals could 
>> be nested.
>>
>> Just because you can do something doesn't mean you should.
>>
>> rg
>>
>> I was surprised myself to see
>>
>> #+foo #+foo
>> used to make two s-expressions (in)visible in the presence (absence) 
>> of the :foo feature. But it's clearly dictated by the spec, and is 
>> often handy when, for example one might want to have something 
>> conditionally in a property list
>>
>> (list :prop1 12
>>       #+foo #+foo
>>       :foo 'bar)
>> In my opinion, that's clearer than
>>
>> (list :prop1 12
>>       #+foo :foo #+foo 'bar)
>> which obscures reading this as a property list and obscures the fact 
>> that the two elements of the list are going to be swapped in or out 
>> based on a single feature.
>>
>> (append (list :prop 12) #+foo (list :foo 'bar) )
>> is not an alternative particularly pleasing to me, but YMMV. It's 
>> certainly very busy.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.clozure.com/pipermail/openmcl-devel/attachments/20230313/c4ec6265/attachment.htm>


More information about the Openmcl-devel mailing list