Comment
Comment by mlevental
i know this is a haskell thread but after trying to grok haskell for years (yes i understand monads) i've discovered F# and jesus christ what a dramatic difference in functional language ergonomics and tooling and ecosystem. it has everything that haskell does (ADTs, type inference, immutability [when you want it], lazy [or eager] eval, pattern matching/destructuring, expression based, and partial application/curried functions) but it doesn't handcuff you to pure (side-effect free) code. say what you want but often writing code in haskell is monad acrobatics because you can't write a simple for loop or do i/o. the tooling is fantastic and cross platform (visual studio/xamarin) with a real debugger, real breakpoints, lightyears better docs, readable compiler errors, enormous ecosystem by way of interop with c# libraries. it's an eminently practical functional language. the `F# for fun and profit` series of blogposts is fantastic for not only introducing the language but explaining the value proposition of functional patterns. of course i wish ocaml had the same advantages (and it does have many) since it compiles to native binary but i'll accept the CLI in exchange for all the tooling benefits.