On 2009-05-18, at 14:55 , Nikodemus Siivola wrote:
2009/5/18 Robert Goldman rpgoldman@sift.info:
Tobias C. Rittweiler wrote:
I've read several times that it's a head ache to configure optional dependencies with ASDF.
How true is that? Could we perhaps provide another clause :OPTIONALLY-DEPEND-ON in DEFSYSTEM which would load a system only if available?
Doesn't :WEAKLY-DEPENDS-ON do what you want?
there is at least one more kind of dependency between two components: "contingency".
simple dependency intends this behaviour:
component status component a component/feature b effect expression a (:depends-on (:b)) present present (operate b), (operate a) a (:depends-on (:b)) present absent error a (:depends-on (:b)) absent present error a (:depends-on (:b)) absent absent error
given the code in parse-component-form, :weakly-depends-on would appear to effect this behaviour:
component status component a component/feature b effect expression a (:weakly-depends-on (:b)) present present (operate b), (operate a) a (:weakly-depends-on (:b)) present absent (operate a) a (:weakly-depends-on (:b)) absent present error a (:weakly-depends-on (:b)) absent absent error
there are cases, where it is useful to cause a different behaviour:
component status component a component/feature b effect expression a (:contingent-on (:b)) present present (operate a) a (:contingent-on (:b)) present absent a (:contingent-on (:b)) absent present error a (:contingent-on (:b)) absent absent error
perhaps there are others. this one is useful when building a system where the components depend on the on the runtime and/or o/s.