Fork me on GitHub

hey guys, clojure (lisp) beginner here. I’m a frontend web developer that writes mostly javascript, but due to my exposure to some functional programming paradigms through an online course i find myself becoming really intrigued.. anyway. I’ve been reading the SICP now, and was wondering what you guys thought of it. As someone who ultimately wants to write and develop Clojure(script) apps, would you say diving all the way into the SICP is overkill?


i have Clojure for the Brave and True also, but I kind of figured the Lisp background knowledge and FP foundation i’d get from the SICP was kind of a precondition to jumping right into clojure


SICP is awesome. So are the online videos you can find by Sussman & Abelson. SICP is not overkill IMHO.


yeah, i’m enjoying it! Having no formal CS background, I find a lot of the stuff in there to be refreshingly new, despite having some experience in the field


@quadrochosis: echoing @mfikes, SICP is a real pleasure and great for brain expansion, two additional thoughts/recommendations: * be aware that SICP's language- Scheme- differs both from Lisp and Clojure in many ways, and some patterns that are important in SICP, like Tail Recursion, do not exist in Clojure. I remember some folks working on a rendering of SICP's code in idiomatic Clojure some time back, may be worth tracking that down * coming from JS, you may enjoy Functional Javascript, from Michael Fogus: . It traces a similar trail through functional abstractions, with a similar appreciation for elegance. Fogus also wrote a lovely, somewhat advanced Clojure book: Both highly recommended. Enjoy!


@quadrochosis: take a look at written by @thattommyhall . It's a distilled walk thru SICP in Clojure...and Tom is a great guy so I'm always happy to give him a 'plug'


Anyone has a link to a good tutorial on EDN?


One more question about prismatic/schema is there a way to have an empty #inst?


(s/maybe java.util.Date) or the like, yeah?


I know I can use #inst "0001-01-03T00:00:00.000-00:00"


as a default but I don't really want to do that


There is no java.util.Date/inst value corresponding to “no date”; most would probably use nil to represent that


Schema provides a maybe type that wraps another type and indicates that valid values may be either of the wrapped type or nil


yea (s/maybe) worked