News for hackers. Stuff that matters.
Re:Unix system programming in OCaml (2014) by ernst_klim on Thursday July 12, 2018 @07:45AM (#17513620)
> maths is just the most useful toolset in programming, but isn't really what programming is about.

It's not about maths, actually. You don't need to understand much math to comprehend monads, you need math only to reason about some properties and formal verification.

So think of monads as of codification of imperative effectful computations in a more general way.

I really like that example:

https://binaryanalysisplatform.github.io/bap/api/master/Mona...

What monad's bind does is just binding a step of computation to the rest of computation, so it is nothing new but a small step (operational) semantics written explicitly. That's why haskell has this do sugar that looks like as an imperative computation. Because it is a first class imperative computation.

Do you want first class features (functions, computations, effects) or features baked into the language is a subjective matter of course.

Re:Unix system programming in OCaml (2014) by pasabagi on Thursday July 12, 2018 @07:57AM (#17513673)
That's fascinating, actually! Thanks for sharing. I'm not particularly partial to either side of the discussion - I like engineering considerations, and I also like really abstract computer science. I think people tend to specialize and polarize in a way that's more reflective of social structure than technical possibilities, which is a shame.