<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">Thanks, guys.<br><br>Sounds like Lisp packages. Now I see the functionality of the A or B, etc.: Fewer keystrokes.<br><br>Michael<br><br><br>--- On <b>Mon, 6/8/09, minh thu <i>&lt;noteed@gmail.com&gt;</i></b> wrote:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>From: minh thu &lt;noteed@gmail.com&gt;<br>Subject: Re: [Haskell-cafe] Problem with Data.Map<br>To: "michael rice" &lt;nowgate@yahoo.com&gt;<br>Cc: "Jochem Berndsen" &lt;jochem@functor.nl&gt;, haskell-cafe@haskell.org<br>Date: Monday, June 8, 2009, 1:00 PM<br><br><div class="plainMail">Hi,<br><br>&gt; import Blurp<br>bring every thing defined in the Blurp module in scope.<br>So if blah is defined in blurp,<br>&gt; blah<br>will work as expected.<br><br>&gt; import qualified Blurp as B<br>does the same thing but everything defined in Blurp should
 be<br>qualified (i.e. prefixed) with B.<br>&gt; B.blah<br>will work, not<br>&gt; blah<br><br>So your import statement is right but you should write Map.fromList<br>instead of just fromList.<br><br>The goal is to have multiple identical names from different modules<br>and still be able to use them at the same time, but qualified, for<br>instance lookup is defined in both Data.List and Data.Map.<br><br>&gt; import qualified Data.List as L<br>&gt; import qualified Data.Map as M<br>&gt; L.lookup<br>&gt; M.lookup<br>The two last lines are unambiguous.<br><br>Cheers,<br>Thu<br><br><br>2009/6/8 michael rice &lt;<a ymailto="mailto:nowgate@yahoo.com" href="/mc/compose?to=nowgate@yahoo.com">nowgate@yahoo.com</a>&gt;:<br>&gt; I don't understand your response. I copied the imports from Hoogles Data.Map<br>&gt; page. What should the imports be?<br>&gt;<br>&gt; Michael<br>&gt;<br>&gt; --- On Mon, 6/8/09, Jochem Berndsen &lt;<a ymailto="mailto:jochem@functor.nl"
 href="/mc/compose?to=jochem@functor.nl">jochem@functor.nl</a>&gt; wrote:<br>&gt;<br>&gt; From: Jochem Berndsen &lt;<a ymailto="mailto:jochem@functor.nl" href="/mc/compose?to=jochem@functor.nl">jochem@functor.nl</a>&gt;<br>&gt; Subject: Re: [Haskell-cafe] Problem with Data.Map<br>&gt; To: "michael rice" &lt;<a ymailto="mailto:nowgate@yahoo.com" href="/mc/compose?to=nowgate@yahoo.com">nowgate@yahoo.com</a>&gt;<br>&gt; Cc: <a ymailto="mailto:haskell-cafe@haskell.org" href="/mc/compose?to=haskell-cafe@haskell.org">haskell-cafe@haskell.org</a><br>&gt; Date: Monday, June 8, 2009, 12:45 PM<br>&gt;<br>&gt; michael rice wrote:<br>&gt;&gt; I'm trying to understand Map type for possible use in another problem I'm<br>&gt;&gt; working on, but am stymied right off the bat.<br>&gt;&gt;<br>&gt;&gt; ==========Here's my source:<br>&gt;&gt;<br>&gt;&gt; import Data.Map (Map)<br>&gt;&gt; import qualified Data.Map as Map<br>&gt;&gt;<br>&gt;&gt; *Main&gt; fromList $ zip l1
 l2<br>&gt;&gt;<br>&gt;&gt; &lt;interactive&gt;:1:0: Not in scope: `fromList'<br>&gt;<br>&gt; You imported map "qualified as Map", that means that only 'Map.fromList'<br>&gt; and 'Data.Map.fromList' are in scope, and not 'fromList'. The reason one<br>&gt; normally does it like this is that a lot of function names clash with<br>&gt; the Prelude (on purpose). Normally one uses "qualified as M" or<br>&gt; "qualified as Map" to shorten the notation.<br>&gt;<br>&gt; HTH,<br>&gt;<br>&gt; --<br>&gt; Jochem Berndsen | <a ymailto="mailto:jochem@functor.nl" href="/mc/compose?to=jochem@functor.nl">jochem@functor.nl</a><br>&gt; GPG: 0xE6FABFAB<br>&gt;<br>&gt;<br>&gt; _______________________________________________<br>&gt; Haskell-Cafe mailing list<br>&gt; <a ymailto="mailto:Haskell-Cafe@haskell.org" href="/mc/compose?to=Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>&gt; <a href="http://www.haskell.org/mailman/listinfo/haskell-cafe"
 target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>&gt;<br>&gt;<br></div></blockquote></td></tr></table><br>