I am simultaneously intrigued by the possibilities of functional programming, and horrified by the ways it can take people off into the weeds.<p>Were I to use Haskell in a real-world project with teammates, I'd have to keep an iron grip on the complexity of the code the team writes. Maintainability (mainly readability/comprehensibility as far as I'm concerned) is far more important for the kind of work I do than theoretical purity and hypothetical applicability to classes of problems the team isn't facing.<p>I could easily keep things on the rails on my own, but I suppose it's simply unsettling thinking about using Haskell for something sizable; probably due to my own lack of experience with it. I'd love to hear about sizable real-world Haskell projects, since I think FP is the future of software engineering.
Since the "original" mentioned at the top is not available anymore: <a href="http://web.archive.org/web/20071020011113/http://www.cse.ogi.edu/~diatchki/jokes/programmer.html" rel="nofollow">http://web.archive.org/web/20071020011113/http://www.cse.ogi...</a>
It misses the math Haskell programmer using the closed form expression: <a href="http://en.wikipedia.org/wiki/Fibonacci_number#Closed-form_expression" rel="nofollow">http://en.wikipedia.org/wiki/Fibonacci_number#Closed-form_ex...</a><p>What is the best way to implement it in Haskell since Phi and Psi are real numbers?<p><i>Edit: as the user tome told me.... It was about the factorial function not about fibonacci. I blindly see fibonacci.</i>
It's quite amusing how accurate this is, knowing Haskell users across a number of these levels. It's quite a handy learning tool as well with the added explanations at the bottom.
I really want to understand about morphisms and category theory after reading this. Can anyone point out any good introduction to the category theory behind those catamorphisms?