I didn&#39;t realize the State monad wasn&#39;t part of the base install. Any particular reason for this?<br>-deech<br><br><div class="gmail_quote">On Tue, Jul 27, 2010 at 10:24 PM, Ivan Miljenovic <span dir="ltr">&lt;<a href="mailto:ivan.miljenovic@gmail.com">ivan.miljenovic@gmail.com</a>&gt;</span> wrote:<br>
<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">On 28 July 2010 13:17, michael rice &lt;<a href="mailto:nowgate@yahoo.com">nowgate@yahoo.com</a>&gt; wrote:<br>

&gt;<br>
&gt; See below. Lot&#39;s of warnings. Is the install OK? If so, can I use the same *import*?<br>
<br>
</div>Yeah, the install is OK.  The meaning of the warnings are:<br>
<br>
* &quot;Warning: -fallow-undecidable-instances is deprecated:&quot; this GHC<br>
option has changed name, but the mtl package still uses the old name.<br>
<br>
* &quot;Warning: Module `Prelude&#39; is deprecated:&quot; mtl doesn&#39;t specify any<br>
bounds on the version of the base library to be used (mainly because<br>
of historic reasons when it wasn&#39;t changing much and the Haskell<br>
community wasn&#39;t stressing versioning as much; note that the last<br>
version of mtl was released almost 2 years ago).  Because a lot of<br>
packages broke when GHC-6.10.4 started shipping with base-4 (along<br>
with base-3 for compatability purposes) due to the differences in how<br>
exceptions were handled, if there is no upper bound on the version of<br>
base to be used then cabal-install plays it safe and uses base-3.<br>
However, the next version of GHC (6.14, which should be coming out<br>
later this year) will not ship with base-3, so GHC-6.12 included that<br>
warning message for people that kept trying to use base-3 that their<br>
code won&#39;t work with 6.14.<br>
<br>
So yes, now you can use &quot;import Control.Monad.State&quot;.<br>
<div><div></div><div class="h5"><br>
&gt;<br>
&gt; Michael<br>
&gt;<br>
&gt; --- On Tue, 7/27/10, Ivan Miljenovic &lt;<a href="mailto:ivan.miljenovic@gmail.com">ivan.miljenovic@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt;<br>
&gt; &gt; If it isn&#39;t installed, you can use cabal-install to install it:<br>
&gt; &gt;<br>
&gt; &gt; cabal install mtl<br>
&gt; &gt;<br>
&gt; &gt; --<br>
&gt; &gt; Ivan Lazar Miljenovic<br>
&gt; &gt; <a href="mailto:Ivan.Miljenovic@gmail.com">Ivan.Miljenovic@gmail.com</a><br>
&gt; &gt; <a href="http://IvanMiljenovic.wordpress.com" target="_blank">IvanMiljenovic.wordpress.com</a><br>
&gt; &gt;<br>
&gt;<br>
&gt;<br>
&gt; [michael@localhost ~]$ cabal install mtl<br>
&gt; Resolving dependencies...<br>
&gt; Downloading mtl-1.1.0.2...<br>
&gt; Configuring mtl-1.1.0.2...<br>
&gt; Preprocessing library mtl-1.1.0.2...<br>
&gt; Building mtl-1.1.0.2...<br>
&gt; [ 1 of 21] Compiling Control.Monad.Identity ( Control/Monad/Identity.hs, dist/build/Control/Monad/Identity.o )<br>
&gt;<br>
&gt; Control/Monad/Cont.hs:1:11:<br>
&gt;     Warning: -fallow-undecidable-instances is deprecated: use -XUndecidableInstances or pragma {-# LANGUAGE UndecidableInstances #-} instead<br>
&gt;<br>
&gt; Control/Monad/Cont/Class.hs:1:11:<br>
&gt;     Warning: -fallow-undecidable-instances is deprecated: use -XUndecidableInstances or pragma {-# LANGUAGE UndecidableInstances #-} instead<br>
&gt;<br>
&gt; Control/Monad/Error.hs:1:11:<br>
&gt;     Warning: -fallow-undecidable-instances is deprecated: use -XUndecidableInstances or pragma {-# LANGUAGE UndecidableInstances #-} instead<br>
&gt;<br>
&gt; Control/Monad/Error/Class.hs:1:11:<br>
&gt;     Warning: -fallow-undecidable-instances is deprecated: use -XUndecidableInstances or pragma {-# LANGUAGE UndecidableInstances #-} instead<br>
&gt;<br>
&gt; Control/Monad/Identity.hs:1:0:<br>
&gt;     Warning: Module `Prelude&#39; is deprecated:<br>
&gt;                You are using the old package `base&#39; version 3.x.<br>
&gt;                Future GHC versions will not support base version 3.x. You<br>
&gt;                should update your code to use the new base version 4.x.<br>
&gt;<br>
&gt; Control/Monad/List.hs:1:11:<br>
&gt;     Warning: -fallow-undecidable-instances is deprecated: use -XUndecidableInstances or pragma {-# LANGUAGE UndecidableInstances #-} instead<br>
&gt;<br>
&gt; Control/Monad/RWS/Lazy.hs:1:11:<br>
&gt;     Warning: -fallow-undecidable-instances is deprecated: use -XUndecidableInstances or pragma {-# LANGUAGE UndecidableInstances #-} instead<br>
&gt;<br>
&gt; Control/Monad/RWS/Strict.hs:1:11:<br>
&gt;     Warning: -fallow-undecidable-instances is deprecated: use -XUndecidableInstances or pragma {-# LANGUAGE UndecidableInstances #-} instead<br>
&gt;<br>
&gt; Control/Monad/Reader.hs:2:11:<br>
&gt;     Warning: -fallow-undecidable-instances is deprecated: use -XUndecidableInstances or pragma {-# LANGUAGE UndecidableInstances #-} instead<br>
&gt;<br>
&gt; Control/Monad/Reader/Class.hs:1:11:<br>
&gt;     Warning: -fallow-undecidable-instances is deprecated: use -XUndecidableInstances or pragma {-# LANGUAGE UndecidableInstances #-} instead<br>
&gt;<br>
&gt; Control/Monad/State/Lazy.hs:1:11:<br>
&gt;     Warning: -fallow-undecidable-instances is deprecated: use -XUndecidableInstances or pragma {-# LANGUAGE UndecidableInstances #-} instead<br>
&gt;<br>
&gt; Control/Monad/State/Strict.hs:1:11:<br>
&gt;     Warning: -fallow-undecidable-instances is deprecated: use -XUndecidableInstances or pragma {-# LANGUAGE UndecidableInstances #-} instead<br>
&gt;<br>
&gt; Control/Monad/Writer.hs:1:11:<br>
&gt;     Warning: -fallow-undecidable-instances is deprecated: use -XUndecidableInstances or pragma {-# LANGUAGE UndecidableInstances #-} instead<br>
&gt;<br>
&gt; Control/Monad/Writer/Class.hs:1:11:<br>
&gt;     Warning: -fallow-undecidable-instances is deprecated: use -XUndecidableInstances or pragma {-# LANGUAGE UndecidableInstances #-} instead<br>
&gt;<br>
&gt; Control/Monad/Writer/Lazy.hs:1:11:<br>
&gt;     Warning: -fallow-undecidable-instances is deprecated: use -XUndecidableInstances or pragma {-# LANGUAGE UndecidableInstances #-} instead<br>
&gt;<br>
&gt; Control/Monad/Writer/Strict.hs:1:11:<br>
&gt;     Warning: -fallow-undecidable-instances is deprecated: use -XUndecidableInstances or pragma {-# LANGUAGE UndecidableInstances #-} instead<br>
&gt; [ 2 of 21] Compiling Control.Monad.Writer.Class ( Control/Monad/Writer/Class.hs, dist/build/Control/Monad/Writer/Class.o )<br>
&gt;<br>
&gt; Control/Monad/Writer/Class.hs:1:0:<br>
&gt;     Warning: Module `Prelude&#39; is deprecated:<br>
&gt;                You are using the old package `base&#39; version 3.x.<br>
&gt;                Future GHC versions will not support base version 3.x. You<br>
&gt;                should update your code to use the new base version 4.x.<br>
&gt; [ 3 of 21] Compiling Control.Monad.Error.Class ( Control/Monad/Error/Class.hs, dist/build/Control/Monad/Error/Class.o )<br>
&gt;<br>
&gt; Control/Monad/Error/Class.hs:1:0:<br>
&gt;     Warning: Module `Prelude&#39; is deprecated:<br>
&gt;                You are using the old package `base&#39; version 3.x.<br>
&gt;                Future GHC versions will not support base version 3.x. You<br>
&gt;                should update your code to use the new base version 4.x.<br>
&gt; [ 4 of 21] Compiling Control.Monad.State.Class ( Control/Monad/State/Class.hs, dist/build/Control/Monad/State/Class.o )<br>
&gt;<br>
&gt; Control/Monad/State/Class.hs:1:0:<br>
&gt;     Warning: Module `Prelude&#39; is deprecated:<br>
&gt;                You are using the old package `base&#39; version 3.x.<br>
&gt;                Future GHC versions will not support base version 3.x. You<br>
&gt;                should update your code to use the new base version 4.x.<br>
&gt; [ 5 of 21] Compiling Control.Monad.Reader.Class ( Control/Monad/Reader/Class.hs, dist/build/Control/Monad/Reader/Class.o )<br>
&gt;<br>
&gt; Control/Monad/Reader/Class.hs:1:0:<br>
&gt;     Warning: Module `Prelude&#39; is deprecated:<br>
&gt;                You are using the old package `base&#39; version 3.x.<br>
&gt;                Future GHC versions will not support base version 3.x. You<br>
&gt;                should update your code to use the new base version 4.x.<br>
&gt; [ 6 of 21] Compiling Control.Monad.RWS.Class ( Control/Monad/RWS/Class.hs, dist/build/Control/Monad/RWS/Class.o )<br>
&gt;<br>
&gt; Control/Monad/RWS/Class.hs:1:0:<br>
&gt;     Warning: Module `Prelude&#39; is deprecated:<br>
&gt;                You are using the old package `base&#39; version 3.x.<br>
&gt;                Future GHC versions will not support base version 3.x. You<br>
&gt;                should update your code to use the new base version 4.x.<br>
&gt; [ 7 of 21] Compiling Control.Monad.Trans ( Control/Monad/Trans.hs, dist/build/Control/Monad/Trans.o )<br>
&gt;<br>
&gt; Control/Monad/Trans.hs:1:0:<br>
&gt;     Warning: Module `Prelude&#39; is deprecated:<br>
&gt;                You are using the old package `base&#39; version 3.x.<br>
&gt;                Future GHC versions will not support base version 3.x. You<br>
&gt;                should update your code to use the new base version 4.x.<br>
&gt;<br>
&gt; Control/Monad/Trans.hs:26:0:<br>
&gt;     Warning: The import of `System.IO&#39; is redundant<br>
&gt;                except perhaps to import instances from `System.IO&#39;<br>
&gt;              To import instances alone, use: import System.IO()<br>
&gt; [ 8 of 21] Compiling Control.Monad.Cont.Class ( Control/Monad/Cont/Class.hs, dist/build/Control/Monad/Cont/Class.o )<br>
&gt;<br>
&gt; Control/Monad/Cont/Class.hs:1:0:<br>
&gt;     Warning: Module `Prelude&#39; is deprecated:<br>
&gt;                You are using the old package `base&#39; version 3.x.<br>
&gt;                Future GHC versions will not support base version 3.x. You<br>
&gt;                should update your code to use the new base version 4.x.<br>
&gt; [ 9 of 21] Compiling Control.Monad.Reader ( Control/Monad/Reader.hs, dist/build/Control/Monad/Reader.o )<br>
&gt;<br>
&gt; Control/Monad/Reader.hs:1:0:<br>
&gt;     Warning: Module `Prelude&#39; is deprecated:<br>
&gt;                You are using the old package `base&#39; version 3.x.<br>
&gt;                Future GHC versions will not support base version 3.x. You<br>
&gt;                should update your code to use the new base version 4.x.<br>
&gt; [10 of 21] Compiling Control.Monad.Error ( Control/Monad/Error.hs, dist/build/Control/Monad/Error.o )<br>
&gt;<br>
&gt; Control/Monad/Error.hs:1:0:<br>
&gt;     Warning: Module `Prelude&#39; is deprecated:<br>
&gt;                You are using the old package `base&#39; version 3.x.<br>
&gt;                Future GHC versions will not support base version 3.x. You<br>
&gt;                should update your code to use the new base version 4.x.<br>
&gt;<br>
&gt; Control/Monad/Error.hs:57:0:<br>
&gt;     Warning: The import of `Control.Monad.Reader.Class&#39; is redundant<br>
&gt;                except perhaps to import instances from `Control.Monad.Reader.Class&#39;<br>
&gt;              To import instances alone, use: import Control.Monad.Reader.Class()<br>
&gt;<br>
&gt; Control/Monad/Error.hs:58:0:<br>
&gt;     Warning: The import of `Control.Monad.State.Class&#39; is redundant<br>
&gt;                except perhaps to import instances from `Control.Monad.State.Class&#39;<br>
&gt;              To import instances alone, use: import Control.Monad.State.Class()<br>
&gt;<br>
&gt; Control/Monad/Error.hs:60:0:<br>
&gt;     Warning: The import of `Control.Monad.Writer.Class&#39; is redundant<br>
&gt;                except perhaps to import instances from `Control.Monad.Writer.Class&#39;<br>
&gt;              To import instances alone, use: import Control.Monad.Writer.Class()<br>
&gt;<br>
&gt; Control/Monad/Error.hs:63:0:<br>
&gt;     Warning: The import of `System.IO&#39; is redundant<br>
&gt;                except perhaps to import instances from `System.IO&#39;<br>
&gt;              To import instances alone, use: import System.IO()<br>
&gt; [11 of 21] Compiling Control.Monad.List ( Control/Monad/List.hs, dist/build/Control/Monad/List.o )<br>
&gt;<br>
&gt; Control/Monad/List.hs:1:0:<br>
&gt;     Warning: Module `Prelude&#39; is deprecated:<br>
&gt;                You are using the old package `base&#39; version 3.x.<br>
&gt;                Future GHC versions will not support base version 3.x. You<br>
&gt;                should update your code to use the new base version 4.x.<br>
&gt; [12 of 21] Compiling Control.Monad.RWS.Lazy ( Control/Monad/RWS/Lazy.hs, dist/build/Control/Monad/RWS/Lazy.o )<br>
&gt;<br>
&gt; Control/Monad/RWS/Lazy.hs:1:0:<br>
&gt;     Warning: Module `Prelude&#39; is deprecated:<br>
&gt;                You are using the old package `base&#39; version 3.x.<br>
&gt;                Future GHC versions will not support base version 3.x. You<br>
&gt;                should update your code to use the new base version 4.x.<br>
&gt;<br>
&gt; Control/Monad/RWS/Lazy.hs:45:0:<br>
&gt;     Warning: The import of `Control.Monad.Reader.Class&#39; is redundant<br>
&gt;                except perhaps to import instances from `Control.Monad.Reader.Class&#39;<br>
&gt;              To import instances alone, use: import Control.Monad.Reader.Class()<br>
&gt;<br>
&gt; Control/Monad/RWS/Lazy.hs:46:0:<br>
&gt;     Warning: The import of `Control.Monad.State.Class&#39; is redundant<br>
&gt;                except perhaps to import instances from `Control.Monad.State.Class&#39;<br>
&gt;              To import instances alone, use: import Control.Monad.State.Class()<br>
&gt;<br>
&gt; Control/Monad/RWS/Lazy.hs:48:0:<br>
&gt;     Warning: The import of `Control.Monad.Writer.Class&#39; is redundant<br>
&gt;                except perhaps to import instances from `Control.Monad.Writer.Class&#39;<br>
&gt;              To import instances alone, use: import Control.Monad.Writer.Class()<br>
&gt; [13 of 21] Compiling Control.Monad.RWS ( Control/Monad/RWS.hs, dist/build/Control/Monad/RWS.o )<br>
&gt;<br>
&gt; Control/Monad/RWS.hs:1:0:<br>
&gt;     Warning: Module `Prelude&#39; is deprecated:<br>
&gt;                You are using the old package `base&#39; version 3.x.<br>
&gt;                Future GHC versions will not support base version 3.x. You<br>
&gt;                should update your code to use the new base version 4.x.<br>
&gt; [14 of 21] Compiling Control.Monad.RWS.Strict ( Control/Monad/RWS/Strict.hs, dist/build/Control/Monad/RWS/Strict.o )<br>
&gt;<br>
&gt; Control/Monad/RWS/Strict.hs:1:0:<br>
&gt;     Warning: Module `Prelude&#39; is deprecated:<br>
&gt;                You are using the old package `base&#39; version 3.x.<br>
&gt;                Future GHC versions will not support base version 3.x. You<br>
&gt;                should update your code to use the new base version 4.x.<br>
&gt;<br>
&gt; Control/Monad/RWS/Strict.hs:45:0:<br>
&gt;     Warning: The import of `Control.Monad.Reader.Class&#39; is redundant<br>
&gt;                except perhaps to import instances from `Control.Monad.Reader.Class&#39;<br>
&gt;              To import instances alone, use: import Control.Monad.Reader.Class()<br>
&gt;<br>
&gt; Control/Monad/RWS/Strict.hs:46:0:<br>
&gt;     Warning: The import of `Control.Monad.State.Class&#39; is redundant<br>
&gt;                except perhaps to import instances from `Control.Monad.State.Class&#39;<br>
&gt;              To import instances alone, use: import Control.Monad.State.Class()<br>
&gt;<br>
&gt; Control/Monad/RWS/Strict.hs:48:0:<br>
&gt;     Warning: The import of `Control.Monad.Writer.Class&#39; is redundant<br>
&gt;                except perhaps to import instances from `Control.Monad.Writer.Class&#39;<br>
&gt;              To import instances alone, use: import Control.Monad.Writer.Class()<br>
&gt; [15 of 21] Compiling Control.Monad.State.Lazy ( Control/Monad/State/Lazy.hs, dist/build/Control/Monad/State/Lazy.o )<br>
&gt;<br>
&gt; Control/Monad/State/Lazy.hs:1:0:<br>
&gt;     Warning: Module `Prelude&#39; is deprecated:<br>
&gt;                You are using the old package `base&#39; version 3.x.<br>
&gt;                Future GHC versions will not support base version 3.x. You<br>
&gt;                should update your code to use the new base version 4.x.<br>
&gt; [16 of 21] Compiling Control.Monad.State ( Control/Monad/State.hs, dist/build/Control/Monad/State.o )<br>
&gt;<br>
&gt; Control/Monad/State.hs:1:0:<br>
&gt;     Warning: Module `Prelude&#39; is deprecated:<br>
&gt;                You are using the old package `base&#39; version 3.x.<br>
&gt;                Future GHC versions will not support base version 3.x. You<br>
&gt;                should update your code to use the new base version 4.x.<br>
&gt; [17 of 21] Compiling Control.Monad.State.Strict ( Control/Monad/State/Strict.hs, dist/build/Control/Monad/State/Strict.o )<br>
&gt;<br>
&gt; Control/Monad/State/Strict.hs:1:0:<br>
&gt;     Warning: Module `Prelude&#39; is deprecated:<br>
&gt;                You are using the old package `base&#39; version 3.x.<br>
&gt;                Future GHC versions will not support base version 3.x. You<br>
&gt;                should update your code to use the new base version 4.x.<br>
&gt; [18 of 21] Compiling Control.Monad.Writer.Lazy ( Control/Monad/Writer/Lazy.hs, dist/build/Control/Monad/Writer/Lazy.o )<br>
&gt;<br>
&gt; Control/Monad/Writer/Lazy.hs:1:0:<br>
&gt;     Warning: Module `Prelude&#39; is deprecated:<br>
&gt;                You are using the old package `base&#39; version 3.x.<br>
&gt;                Future GHC versions will not support base version 3.x. You<br>
&gt;                should update your code to use the new base version 4.x.<br>
&gt; [19 of 21] Compiling Control.Monad.Writer ( Control/Monad/Writer.hs, dist/build/Control/Monad/Writer.o )<br>
&gt;<br>
&gt; Control/Monad/Writer.hs:1:0:<br>
&gt;     Warning: Module `Prelude&#39; is deprecated:<br>
&gt;                You are using the old package `base&#39; version 3.x.<br>
&gt;                Future GHC versions will not support base version 3.x. You<br>
&gt;                should update your code to use the new base version 4.x.<br>
&gt; [20 of 21] Compiling Control.Monad.Writer.Strict ( Control/Monad/Writer/Strict.hs, dist/build/Control/Monad/Writer/Strict.o )<br>
&gt;<br>
&gt; Control/Monad/Writer/Strict.hs:1:0:<br>
&gt;     Warning: Module `Prelude&#39; is deprecated:<br>
&gt;                You are using the old package `base&#39; version 3.x.<br>
&gt;                Future GHC versions will not support base version 3.x. You<br>
&gt;                should update your code to use the new base version 4.x.<br>
&gt; [21 of 21] Compiling Control.Monad.Cont ( Control/Monad/Cont.hs, dist/build/Control/Monad/Cont.o )<br>
&gt;<br>
&gt; Control/Monad/Cont.hs:1:0:<br>
&gt;     Warning: Module `Prelude&#39; is deprecated:<br>
&gt;                You are using the old package `base&#39; version 3.x.<br>
&gt;                Future GHC versions will not support base version 3.x. You<br>
&gt;                should update your code to use the new base version 4.x.<br>
&gt; Registering mtl-1.1.0.2...<br>
&gt; Installing library in /home/michael/.cabal/lib/mtl-1.1.0.2/ghc-6.12.1<br>
&gt; Registering mtl-1.1.0.2...<br>
&gt; [michael@localhost ~]$<br>
&gt;<br>
&gt;<br>
<br>
<br>
<br>
--<br>
Ivan Lazar Miljenovic<br>
<a href="mailto:Ivan.Miljenovic@gmail.com">Ivan.Miljenovic@gmail.com</a><br>
<a href="http://IvanMiljenovic.wordpress.com" target="_blank">IvanMiljenovic.wordpress.com</a><br>
</div></div><div><div></div><div class="h5">_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</div></div></blockquote></div><br>