integrant

wagjo 2017-10-02T07:37:55.000035Z

If I want to reference a composite key, I have to use a composite reference, right? If so, this hierarchy definition would leak to components that use the composite one and the parent component name would be all over the place

wagjo 2017-10-02T07:45:44.000019Z

{[:adapter/jetty :example/web-1] {:port 8080, :handler #ig/ref :handler/greet}
 [:adapter/jetty :example/web-2] {:port 8081, :handler #ig/ref :handler/greet}
 :example/app {:web #ig/ref [:adapter/jetty :example/web-2]} ;; the app 'component' now must know that the web-2 runs on jetty
 :handler/greet {:name "Alice"}}

wagjo 2017-10-02T07:57:56.000267Z

Oh right, you can reference just by one key, nice

{[:adapter/jetty :example/web-1] {:port 8080, :handler #ig/ref :handler/greet}
 [:adapter/jetty :example/web-2] {:port 8081, :handler #ig/ref :handler/greet}
 :example/app {:web #ig/ref :example/web-2}
 :handler/greet {:name "Alice"}}

wagjo 2017-10-02T07:59:41.000247Z

So my proposal is not that much useful after all 🙂