Re:Haxl: Making Concurrency Unreasonably Easy [video]
by solidsnack9000 on Sunday June 25, 2017 @12:24AM
(#14628627)
Sadly it seems like the youngsters are going in the opposite direction these days. It's the old fogies who have to keep saying, I've got a functor, I've got a monoid, I've got a monoid functor = monad.
Re:Haxl: Making Concurrency Unreasonably Easy [video]
by eru on Sunday June 25, 2017 @10:22AM
(#14630109)
Aren't Applicative Functors still all the rage? Monads are not all that well suited to automatic parallelization (as Simon Marlow points out, too).
Re:Haxl: Making Concurrency Unreasonably Easy [video]
by solidsnack9000 on Sunday June 25, 2017 @04:59PM
(#14632153)
Applicative seems to be the way of the future, yes.
If you want concurrent code, you're going to have to write it with an awareness of concurrency issues. There are things that languages can do to make it easier, but in terms of doing it automatically even that hasn't had a great track record. Fortress [1] took a good run at it, but ultimately didn't seem to get that far, at least relative to their ambitions.
Personally I suspect that while Haskell may not be that language today, and may not be that language ever necessarily, that the "magically concurrent" language of the future is going to end up looking a lot like Haskell, in particular, with the ability and need to consider the mathematical properties of your code for things like associativity and commutativity. It's going to take a pretty major sea change in a whole lot of attitudes before "the youngsters" are just casually reeling off group theory names while the "old fogies" are stuck going "What's a monoid again?" Not impossible, but hard to imagine how we get to there from here.
[1]: https://en.wikipedia.org/wiki/Fortress_(programming_language...