On Tue, Jul 6, 2010 at 12:05 PM, Ertugrul Soeylemez <span dir="ltr">&lt;<a href="mailto:es@ertes.de">es@ertes.de</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">Yves Parès &lt;<a href="mailto:limestrael@gmail.com">limestrael@gmail.com</a>&gt; wrote:<br>
<br>
</div><div><div></div><div class="h5">&gt; I was wondering : wouldn&#39;t it be possible that things like BaseM be<br>
&gt; implemented on top of MTL?<br>
&gt; Couldn&#39;t just one develop a package, say mtl-missing, that would<br>
&gt; contain the functionnalities of monadLib, but compatible with MTL?<br>
<br>
</div></div>I don&#39;t know whether they&#39;re compatible.  Also there is probably nothing<br>
to implement from mtl in monadLib, so the more natural choice is not to<br>
use mtl at all and just use monadLib.<br>
<br>
I&#39;d hate to be forced to go back to mtl.  Better update &#39;operational&#39; to<br>
support monadLib.  Go forward to a good design instead of trying to keep<br>
old, broken designs alive.<br></blockquote><div><br>You may want to review the thread here:<br><br><a href="http://www.haskell.org/pipermail/libraries/2009-November/012833.html">http://www.haskell.org/pipermail/libraries/2009-November/012833.html</a><br>
<br>The
 gist of it is, I would recommend sticking with MTL for right now, but confining yourself to the portions of it that transformers + monads-fd export (i.e. using StateT s Identity instead of State, or avoiding the use of the State constructors and instances on State) until
 transformers is done being refactored and monads-fd + transformers 
becomes more or less mtl compatible and the mtl shim = monads-fd + 
transformers shim is introduced in a future haskell platform. At that 
point in time you should be able to remove mtl and just reference 
monads-fd (and/or monads-tf)  + transformers. This has the benefit of not fragmenting the user base, letting you link against the large quantities of code that is built on the haskell platform (i.e. HTTP, etc), and provides an upgrade path to bring the code written for use with transformers and the code written for use with mtl into alignment so they can all link some day in the relatively near future without cabal flipping its lid.<br>
<br>Of course, adding support for monadLib, which doesn&#39;t conflict with any of this is a completely concern.<br><br>-Edward Kmett<br></div></div>