Subject: "nested" #- and #+
From: Erik Naggum <erik@naggum.no>
Date: 1999/02/08
Newsgroups: comp.lang.lisp
Message-ID: <3127449846486009@naggum.no>

  can Common Lisp be easily conditionalized for various systems?  a local
  programmer sent me some code that stood out as particularly ugly to both
  of us, and I thought "this really can't be it".  so it occurred to me
  that #- and #+ should "nest", in that #-foo bar is like whitespace when
  (featurep :foo), which seems to imply that 

#-foo #+zot bar #-zot quux

  should be skipped entirely when (featurep :foo).  if this is valid, then
  we should be able to write conditionalizations like this:

#+allegro (allegro-specific) #-allegro
#+cmucl (cmucl-specific) #-cmucl
#+lucid (lucid-specific) #-lucid
(unknown-system)

  instead of the maintenance nightmare

#+allegro (allegro-specific)
#+cmucl (cmucl-specific)
#+lucid (lucid-specific)
#-(or allegro cmucl lucid) (unknown-system)

  I read the standard to say that "nesting" should work.  is it reasonable?

#:Erik
-- 
  Y2K conversion simplified: Januark, Februark, March, April, Mak, June,
  Julk, August, September, October, November, December.