Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

first my apologies if this isn't the right place for this question but I think that th.CS is not the right place for sure neither is StackOverflow.

I really like functional programming and I think I'm a medium level guy in F# and understand the basic concepts of Haskell rather well - and yes I think I know/fell like I know what a Monad is.

Now I really want to take this to the next level and want to understand what all the talk about functors and stuff is all about. I just don't know where to start.

Read something about Lambda Calculus? Category Theory? Both I know a bit and I don't think that this is the right/quickest way to enlightment.

Maybe you can give me some hints on that.

PS: I'm not afraid of math and I don't get frustrated on excercises easily but I would prefere some intros/text where you can put some code down because this way you get the feedback at once.

share|improve this question

3 Answers 3

up vote 5 down vote accepted

F# is good start, you should keep going with Haskell, and definitely read up on lambda calculus and read the Lambda Papers mentioned above.

Using an hybrid language (Clojure, Scala, OCaml, ...) might help to ease it onto if you come from an OO background, but I think that if you really want to understand the functional progamming mindset, you should rather go for the real thing (Haskell, Lisp, ...).

share|improve this answer
thanks - of course I will stick to F# (I can use this in production code...) and I will try to learn more haskell - but this is harder because I find it rather hard to do other things than console-applications in haskell (yet). - Scheme might be nice (had a short episode in Lisp once) but OCaml is almost the same as F# (I think) –  Carsten König Aug 20 '11 at 21:40
@CarstenKönig: There are quite a lot of very interesting projects you can do without worrying about a UI. A great option is working on a programming language: writing a simple Scheme or Prolog interpreter in Haskell is an awesome exercise and lives happily on the command line. –  Tikhon Jelvis Mar 4 '12 at 8:52

I recommend you read those three books if time is a luxury you have:

Those three books will enrich your understanding of Functional Programming in general.

share|improve this answer
ATM time is not an issue - and I will take me some time if I find the energy on evenings anyway ... it might be slow but normaly I am able to read alot. Of course with those kinds of books I my pace will slow to a crawl ... thanks (sadly the last one seems to be out of print ... can't stand reading from screen) –  Carsten König Aug 20 '11 at 22:43

Learn you a Haskell has an excellent introduction to functors.

For the really heavy stuff you can read Oleg Kiselyov's excellent site: delimited continuations, zippers, iteratees, ...

share|improve this answer
thank you - I of course know LYAH and love it (ok - there should be some exercises in there) - but the site is really helpful - thank you! –  Carsten König Mar 4 '12 at 12:12

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.