The complexity of our systems is increasing exponentially. We need a solid theory for making / combining parts the right way (composition) and control this complexity. We need a language that closely resembles the truths of nature, as our programs just model the natural processes.
Such is the Theory of Categories that is the current best model of the entire mathematics. It is even purported to closely resemble Epistemology. Such is the tool Haskell, that is built with math - Lambda Calculus and is closely related to the structures of category theory (Hask).
What excites us about Haskell is its extreme focus on
composition and correctness. Its expressive syntax and water-tight type-system helps us build bug free and succinct programs of Art.
https://www.youtube.com/watch?v=XrNdvWqxBvA (Why FP?)
https://www.youtube.com/watch?v=I8LbkfSSR58 (Category theory - motivation)
https://www.youtube.com/watch?v=V10hzjgoklA (Category theory - see the intro by creator of monads)
If Haskell is so powerful, why isn't it one of the top mainstream languages? This is funny but true infographic illustrates the problem. Haskell in it's current form is very difficult to learn and it typically requires good mastery even before building simple applications.
But it is worth the learning as it is the Best of All once mastered. Lisp is the closest second (We love Lisp! But the missing Type system doesn't suit our very young team to build mission critical apps).
Nothing like a cake walk. But we have found a method of learning Haskell that works. Our entire company, not just engineers - QA, Business, Product folks too are learning Haskell and it's dialects.
We believe we can help you with a easier path to get productive with Haskell/PureScript/Eta - with our frameworks & learning methods. This document is one of our starters to take you across the Haskell learning chasm!