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

Robert Goldman rpgoldman at sift.info
Mon Mar 13 10:53:22 PDT 2023


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/3c4ca5f2/attachment.htm>


More information about the Openmcl-devel mailing list