Haskell is an advanced, purely functional programming language. I use Haskell because of its correctness guarantees that are difficult or impossible to achieve with mainstream programming languages 1 .
My first foray into Haskell was to write fullstack web applications using Reflex-FRP, after having used Elm prior to that. Nowadays I consider it my go-to language for general application development.
If you wish to learn Haskell yourself, these pointers may be of help:
- Some prefer concise learning materials; if this is you, check out the two books by Graham Hutton and Richard Bird. For a thorough and practical book, Vitaly Bragilevsky’s Haskell in Depth or Will Kurt’s Get Programming with Haskell might be of interest. Books are only a starting point (see the next two sections).
- Learning anything takes practice, and this is particularly a key for a purely functional language like Haskell. See Haskell Mentors List for progressing in learning Haskell by way of contributing to open source projects that you already enjoy using.
- Talk / Share
- Join FP Slack to chat with other Haskellers (the Slack also has rooms for other FP languages). If you prefer a forum-like format, post to StackOverflow #haskell, which has been quite helpful in my experience. Read r/haskell for news. Be wary of other communities. 3 If you are interested in hacking on my open source projects, join this room on Matrix (it is a part of Awesome-list-of-Haskell-mentors). See Haskell Planetarium for recent Haskell news & discussions.
- Deepen your Haskell knowledge
- Haskell from the ground up (Work in progress)
Take the red pill with Nix
Entirely optional, but if you are feeling adventurous consider getting acquainted with Nix, which in turns allows you to leverage haskell-template for instantly getting started with bootstraping Haskell projects with full IDE support in VSCode.
Graham Hutton: “My experience is that people need to be ‘ready’ to learn what a monad is. If they are ready, it’s not too difficult, but still requires quite a bit of effort - as with anything worthwhile."