Hacker News new | ask | show | jobs
by stephen 1574 days ago
Really interesting to see the various examples/incarnations the author went through to illustrate his point. Very well done.

I must admit I like his aphorism: "If you're honest while making your code better, you will inevitably end up making it functional".

Although I would tongue-in-cheek add a suffix of "...you will inevitably end up making it functional, but stop once you start making everything a monad". :-D

I feel like FP purists hold "...and now it's a monad!" as an forgone conclusion / must be achieved end state. ...which, I did enough Scala for comprehensions (and now JS promises) that I believe I basically "get" monads, but so far I've not seen the light about the differences between "good enough" lazy abstractions (JS promises) and "Shalt Follow All Of the Rules" real monad abstractions, other than the latter end up letting you (sorry, tongue-in-cheek) write even more obtuse Haskell?...