On 10/15/10 Oct 15 -12:15 PM, Nikodemus Siivola wrote:
On 15 October 2010 20:03, Robert Goldman rpgoldman@sift.info wrote:
Right. But, honestly, I find
(:module "ports" :components ( #+sbcl (:file "sbcl") #+ccl (:file "ccl")) ...)
a lot easier to read...
Sure -- but it makes system-introspection limited to the implementation you are currently using.
I get it, but the value of such introspection seems, at the moment, primarily conjectural, but the bewilderment of :if-component-dep-fails is certain. Actually, I also see that the manual says that :if-component-dep-fails may be broken (see the object model section).
...of course, if ASDF had comething like
(:module "ports" :components (:file "sbcl" :when (feature :sbcl)) (:file "ccl" :when (feature :ccl)))
then we'd be pretty close to best of both worlds
Agreed. This is clearly The Right Thing. Pretty much anyone looking at this will know what it is intended to mean whereas, IMO, the :if-component-dep-fails looks like an error-handler....
I think this is related to the fact that the feature "dependency" here is really not, intuitively, acting like a dependency (which is expected always to succeed).
best, r