I\'ve been using Clojure for about 18 months. Recently, I\'ve come across terms
ID: 650466 • Letter: I
Question
I've been using Clojure for about 18 months. Recently, I've come across terms such as Monads, Continuations, et al which I'd like to learn about.
I could visit Wikipedia and read about these two topics, but I'm looking for a reference which also help me learn about related matters that I don't even know exist. Is there a book on this particular topic (if it even qualifies as one)? Would I pick these things up by learning about type systems or language design in general? Should I just learn Haskell to get exposure?
Explanation / Answer
I would focus on learning a functional language in order to learn these. There's no need for it to be Haskell. It could be Scheme or ML, or even Coq or Agda. Frankly, Clojure will probably do. But to me, monads and continuations are only programming tools. They don't let you do any new computations, they just let you do them in a different way. So understanding them outside of the context of a particular style of programming to me doesn't make much sense.
I'd recommend Real World Haskell as an introduction to some of these concepts, particularly in how they can be used in programming. I'm not sure how much it has on continuations. I learned continuations from Essentials of Programming Languages, which I quite liked, but deals with Scheme rather than Haskell, and doesn't do anything monadically.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.