ja...@booleanknot.com writes:

> If I'm understanding right, the main difference between Leaven and
> Component is that Leaven uses *defsystem* to specify an explicit start/stop
> ordering, while Component uses its *using* function to define dependencies
> between components, and works out the ordering itself.

Indeed.  The result is a system definition that is open to extension via
other protocols, and that can be instantiated without having to specify
the dependencies between components at the same time, which feels more
natural to me.  I could be convinced about adding some sort of
declarative description of inter-component dependencies to defsystem,
but I'm not sure it is really necessary.

Also, the fact it works with clojurescript.

> Also, while this is a really minor thing, the naming of ILifeCycle kinda
> bugs me. The "I" prefix is an abbreviation for "Interface", but ILifeCycle
> is a protocol.

Having used Om a fair bit recently, I was influenced by the naming of
the protocols there.

Hugo

Attachment: signature.asc
Description: PGP signature

Reply via email to