<div dir="auto">Hi Daneel, welcome</div><div dir="auto"><br></div><div dir="auto"><pre style="white-space:pre-wrap;background-color:rgb(255,255,255)">> Recently I discovered for my self an alternative for monad
> transformers - extensible effects.
>
> <a href="http://okmij.org/ftp/Haskell/extensible/">http://okmij.org/ftp/Haskell/extensible/</a>
> </pre><pre style="white-space:pre-wrap;background-color:rgb(255,255,255)">So straight away a word of warning: the 'ok' there is Oleg Kiselyov, who has produced many wonderful demonstrations of the power of Haskell's type system. (HList is anoher inspiration.) Many would say he has warped the type system beyond what it could reasonably be expected to achieve. So we measure the brain power needed to understand type signatures and messages in milli-Olegs.</pre><pre style="white-space:pre-wrap;background-color:rgb(255,255,255)">> Overall it is really cool and Eff1.hs started working right away,
> but I noticed a problem with mixing several effects in 1 function.
> Type checker requires pretty verbose type signature, which looks
> unreasonable plus the error reported to a beginner developer</pre><pre style="white-space:pre-wrap;background-color:rgb(255,255,255)">> is not intuitive.</pre><pre style="white-space:pre-wrap;background-color:rgb(255,255,255)">Extensible effects/all of Oleg's work is not aimed at beginners. I advise beginners to stay well clear. You can expect enormous, inscrutable type errors.</pre><pre style="white-space:pre-wrap;background-color:rgb(255,255,255)">I agree with Georgi you should give type signatures everywhere you can. And your code should be used only by type experts.</pre><pre style="white-space:pre-wrap;background-color:rgb(255,255,255)"><br></pre><pre style="white-space:pre-wrap;background-color:rgb(255,255,255)">AntC
<br></pre></div>