This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
- # announcements (5)
- # aws (16)
- # beginners (62)
- # calva (2)
- # cljdoc (17)
- # cljs-dev (2)
- # clojure (89)
- # clojure-brasil (1)
- # clojure-europe (3)
- # clojure-italy (12)
- # clojure-nl (1)
- # clojure-russia (2)
- # clojure-spec (10)
- # clojure-uk (26)
- # clojurescript (45)
- # cursive (4)
- # data-science (6)
- # datavis (1)
- # datomic (15)
- # duct (5)
- # fulcro (55)
- # juxt (1)
- # kaocha (2)
- # leiningen (1)
- # off-topic (101)
- # pathom (12)
- # portkey (4)
- # quil (5)
- # re-frame (9)
- # reagent (2)
- # reitit (28)
- # shadow-cljs (114)
- # spacemacs (9)
- # speculative (2)
- # sql (3)
- # test-check (18)
Hello all, I am doing a little (1,000km) bicycle ride over 9 days in September for charity (Princes Trust). If I raise enough money I will take the challenge on a Brompton (fold up bike for commuters) rather than my nice carbon road bicycle. If you would like to support the Princes Trust (and my fitness), please consider donating on my charity page (charity donations also benefit your tax position too). https://uk.virginmoneygiving.com/jr0cket
is it even possible on a Brompton? 😱
Nice going @jr0cket - I don't think you are in a lot of danger of having to do that on the Brompton, but if you do it will be an amazing upside for the Prince's Trust 🙂
@alex.lynham there is only one way to find out if it's possible to do on a Brompton.... I have done 40km a day for several months riding to work. That was over pretty flat terrain though.
Not to distract from @jr0cket's superhuman effort above, to which I have donated, and you should too... 😉, but I have a question for the community here...
Does anybody have any interesting/relevant/happy/angry thoughts on component/mount/integrant/ignoring all this stuff and doing it yourself?
I like the relevant simplicity of mount, however, for more involved apps I lean more to integrant. I really like the configuration / data structure approach of integrant (and duct).
I quite like integrant too, I guess I am just not sure if any particular library is, "winning" or indeed, if there is a thing to win. I am noticing a fair bit of support for component in things like figwheel, and I am really not certain if that's just the tide, and I should swim with it. Paradox of choice I guess.
@wesley.hall of the options you presented, i prefer integrant - but it's not async compatible (i.e. if a factory returns a promise of something and you want other things to depend on that something it doesn't help you), so i ended up rolling my own - https://github.com/employeerepublic/deferst
Interesting. Thank you @mccraigmccraig, taking a look now 🙂
This whole idea of lazy system initialisation is an interesting one. I am finding it rather hard to shift the notion that once,
(start!) (or equivalent) successfully returns without error, that you can assume your system has successfully started. I suppose this is the reason why the likes of integrant don't have support for async component factories rather than it being an oversight, but I could definitely be wrong on that.
My day job has some CLJS/Node code in production. Node, of course, being famous for it's asynchronicity, I can definitely see that some native support for this could be quite useful. Hadn't consider it before though. Thanks for sharing.
@wesley.hall if it's async then
start! will be returning a promise of a system (or core.async equiv), so you can assume that your system is ok once that promise has called its success callback &c
if there is an error then you can expect that to be reported through the promises's error callback
(although hopefully no-one actually uses callback chains explicitly, 'cos that will drive you mad)
@wesley.hall our clj backend is async, as is our cljs front-end - it's quite refreshing to use the same programming model throughout the system
Thanks @mccraigmccraig I will definitely have a closer look. Few things here that you'd now got me thinking about. Appreciate it.