Re: multiple read-time conditionals, puzzlement
Robert Goldman <[email protected]> Mon, 13 Mar 2023 12:53:22 -0500
| Newsgroups | gmane.lisp.openmcl.devel |
|---|---|
| Message-ID | <[email protected]> |
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.