Re: multiple read-time conditionals, puzzlement
Tim McNerney <[email protected]> Mon, 13 Mar 2023 17:06:33 -0400
| Newsgroups | gmane.lisp.openmcl.devel |
|---|---|
| Message-ID | <[email protected]> |
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 <[email protected]> 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 <[email protected]> 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.