Haskell

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.

On GitHub you can find a list of Haskell projects I work on, the notable of which is Neuron and now Emanote.

Learning Haskell

Attitude
Lose the limiting beliefs, if any. 2 Approach Haskell, with maximum locus of control, as if it is a new programming language that had been created this year (ie. sans any vague preconceptions introjected from naysayers).
Books
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).
Self-learning courses
Practice
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 format, rather than interactive chat, there is Haskell Discourse. 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).

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.

Links to this page