Comment

Comment by DesertVarnish

Haskell is purely functional, but if you make ample use of do-notation it's very easy to write in a familiar imperative(ish) style for day-to-day tasks. Most learning materials won't emphasize this but large production Haskell codebases that do a lot of IO usually end up looking a lot more familiar than you might expect.

If you have interest in both OCaml and Haskell, you might also consider just learning Rust which borrows aspects from both of them. Rust traits aren't quite as powerful as Haskell typeclasses and its module system is definitely more limited than OCaml's, but if you write it in a more functional style you'll get exposed to a lot of similar patterns.

A lot of things in Haskell never really clicked for me until I spent some time getting comfortable with Rust.

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton