Fork me on GitHub

hi i am trying to use cli-tools to parse from command line can anyone tell me why this doesnt work


Hi @bfast I answered in #C03S1KBA2 — didn’t see you’d posted your question in both channels.


I maintain tools.cli these days so I’m happy to (try to) answer your questions.


Can anyone suggest some books around Clojure(Script) and using Om? With re-frame, there seemed to be a lot of theory in the README, so I want to see if there are any books suited for learning Om and Clojure / Functional programming theories


If that makes sense?


So less of ‘this is the Clojure syntax’, and more of ‘these are the theories and information behind functional programming / clojure'


@biscuitpants: Are you looking more for Om resources and the theory and reasons for Om, or Clojure in general?


@shaun-mahood: well I am going to be using Om at work, so it would be great to get that too, if possible? I’ve found ‘Functional Thinking’ by O’Reilly, which seems like a good general book for FP


@biscuitpants: Do you know if you are using Om Next or Old Om? What's your previous programming / FP / Clojure experience like?


@shaun-mahood: I come from OOP, the C# world, so not much till now. I would like to use Om Next, but not sure if it would be better to start with Old Om to learn the basics?


Ok cool, there are some good resources - I came from C# to ClojureScript and Clojure, so hopefully some of this will help.


I've not made the jump into Om yet, been using re-frame and reagent, so my advice there might not be great - but there are at least resources out there. Eric Normand has a great site at, and he has a course on Om at . It's a pretty reasonable monthly cost for some good video resources.


It's also really worthwhile going through David Nolen's posts - some of them are OM specific but they are all excellent.


I enjoyed this book and have heard that others have found it useful coming from OO


I’ve looked at re-frame @shaun-mahood, the README is absolutely incredible! I loved reading through it.


@shaun-mahood: been wanting to read that book, just have not got around to it yet unfortunately


There's a work in progress Om Next tutorial as well


I also really enjoyed and found it really helpful for understanding a lot of the reactive ideas that underlay things like re-frame


If you have time to read a bunch of books (or parts of books), a subscription to Safari Books Online is a great resource - it gives you access to most of the clojure books that are out there


This is also a great resource for excellent talks - there are more out there, and it's well worth watching everything you can find by Rich Hickey and David Nolen, but it's a good starting point


Ah thank you @shaun-mahood simple_smile These resources will definitely help me - they give me a good starting point. I was a bit overwhelmed by all the books and resources available.


I've also found a lot of value in Tim Baldridge's videos at


@biscuitpants: Yeah, there's a lot out there now - most of it is really excellent though, so the problem is more filtering down to what you need to learn to get the next bit of work done. I tend to look at very frequently, for libraries, and the books after that to actually understand what I just figured out. It's a fun adventure!


@shaun-mahood: it definitely has been a fun adventure so far! Clojure is the best language I’ve learned so far, and I’m really enjoying all the theories behind it and FP. The community, like this Slack channel, is also amazing


Yeah the community is unbelievably good IMO.


Thank you so much for the resources @shaun-mahood, I really appreciate it simple_smile I will definitely be back to ask more questions.


Having what I assume is a laziness issue here — I have a function that returns a coll, and mapping it over finite ranges while feeding it to take-while will work fine, i.e.,

(take-while #(not-empty (:key %)) (map mapping-fn [1 2 3 4 5]))
will return results for only inputs in the range that have non-nil results (e.g., equivalent to [1 2 3]) but
(take-while #(not-empty (:key %)) (map mapping-fn (range)))
will never terminate. I've tried doall to no avail. What obvious rookie mistake am I making?


@morland: Are you sure that your mapping-fn returns something that would "fail" the #(not-empty (:key %)) test for some reasonable integer?


(and, also, is it possible your mapping-fn does not terminate for some non-negative value? perhaps zero?)