[Haskell-cafe] ANN: combinatorics

wren ng thornton wren at freegeek.org
Wed Feb 1 08:07:50 CET 2012


On 1/30/12 3:54 PM, Roman Cheplyaka wrote:
> Makes sense; but doesn't making the monad abstract and putting all
> functions in the monad address the fragility issue?

The primary issue with monads is that the syntax is extremely cumbersome 
for the expected use case. It'd be like paranoid C where, since order of 
evaluation is unspecified, all subexpressions are floated out into 
let-bindings. At that point (a) the verbosity is ugly, (b) the code is 
much harder to follow, and (c) it's all too easy to introduce errors 
where you use x instead of x' or the like.

The semantic model of monads just isn't a good fit for this domain. 
There really aren't any side effects going on, there's no sequencing of 
actions, there's no "little language" that's being implemented,... I 
love me some monads and all, but they just don't fit here.

-- 
Live well,
~wren



More information about the Haskell-Cafe mailing list