dear list,
i know that this is a subject that has strong feelings attached to, but with recent developments in XCVB the need for (eval-when (:compile-toplevel :load-toplevel :execute) ...) has rose, and seeing numerous eval-when noise in the code is potentially annoying.
related material:
a) relevant part of XCVB docs: http://common-lisp.net/project/xcvb/doc/README.html#compile-time-side-effect...
b) "XCVB patch for Alexandria" thread on alexandria-devel
c) blog entry from Nikodemus at http://random-state.net/log/3387124996.html (broken currently, google cache below)
http://209.85.129.132/search?q=cache:dmgWWKN8vFMJ:random-state.net/log/33871...
=============
c) makes it clear that Nikodemus doesn't like eval-always, and i'm sure many other lispers are on the same opinion. for the argument that it does not introduce a new abstraction, i can point to COND, which is the same as an ugly IF ladder, still most people prefer COND when there are many legs of that if, because in that case COND is much less noisy. no new abstraction, only a syntactic sugar, but it's much easier for the eye.
a) has a detailed description why often a full (:compile-toplevel :load-toplevel :execute) is necessary, and it'll be even more so as XCVB gets used more and more.
so, i'd suggest to take some action:
I) add an eval-always to alexandria-devel II) add a defun-always to alexandria-devel avoid the entire need for a wrapper III) ?
my vote goes for II), which is kinda in sync with c) too.
suggestions? opinions?