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.

closed as off-topic by gnat, user40980, user22815, Kilian Foth, durron597 Sep 28 '15 at 16:09

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic here. They are only meaningful to the asker and do not generate lasting value for the broader community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – gnat, Community, Kilian Foth, durron597
If this question can be reworded to fit the rules in the help center, please edit the question.


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, ...).

  • 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 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.

  • 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 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, ...

  • 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 Mar 4 '12 at 12:12

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