
On Fri, Sep 17, 2021 at 05:02:09PM +0000, Richard Eisenberg wrote:
On Sep 17, 2021, at 3:50 AM, Tom Ellis
wrote: On Fri, Sep 17, 2021 at 01:43:01PM +0900, Michael Turner wrote:
I finally got (most of?) what monads really mean for practical programming when none other than Simon Peyton-Jones said F# called a very similar construct "workflow," a word he likes.
Was it literally just a single sentence introducing a new word for a concept that made you "get it"? Could you elaborate? This is really quite remarkable.
For me, coming from a mostly Java background (but with a healthy dollop of functional programming thrown in the mix -- but no Haskell), the phrase that unlocked monads was "programmable semicolon".
I'm curious what "unlock" means here. Do you mean you could understand the definition of the monad class after coming across "programmable semicolon" but not before? Or do you mean you understood the *purpose* of monads, but not necessarily how one would go about implementing them? Or something else?