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.

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.

- James


On 3 September 2014 21:19, Hugo Duncan <h...@hugoduncan.org> wrote:

>
> leaven [1] is a component library, much like Stuart Sierra's component,
> only it works for both clojure and clojurescript and is simpler.
>
> bakery [2] is a library of leaven components, for both clojure and
> clojurescript.
>
> An example web app [3] uses httpkit, sente, weasel, storage-atom,
> secretary, om-bootstrap, among other libraries.
>
> Leaven doesn't mix system definition with system instantiation.  It uses
> an explicit system definition, defsystem, that constructs a component
> containing sub-components.  The dependency ordering between components
> is explicit in defsystem.  Constructing an instance of the system is
> done by creating an instance of the record defsystem defines.
>
> Additional protocols can be implemented on your system in the body of
> the defsystem.
>
>
> [1] https://github.com/palletops/leaven[1]
> [2] https://github.com/palletops/bakery[2]
> [3] https://github.com/palletops/bakery/example-web-app[3]
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to