<p class="MsoNormal">Going through "Haskell. The Craft of Functional Programming"
book , in section 16.8 I found a Set module example.<br>
Module declarations starts with:</p>




<p class="MsoNormal">&nbsp;import List hiding (union)</p>




<p class="MsoNormal">&quot;Set&quot; module here is built with list and uses among other
things list comparison functions such as (==) and (&lt;=).</p>




<p class="MsoNormal">&nbsp;For example:</p>




<p class="MsoNormal">&nbsp;eqSet<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>:: Eq a
=&gt; Set a -&gt; Set a -&gt; Bool</p>


<p class="MsoNormal">eqSet (SetI xs) (SetI ys) = (xs == ys) </p>




<p class="MsoNormal">&nbsp;<br>
Q1:&nbsp; Where "List" module is imported from? </p>


<p class="MsoNormal">GHC "Base" package contains "Data.List" module, not just
"List" module.</p>


<p class="MsoNormal">Besides, <span style="">&nbsp;</span>"Data.List"
does not have (&lt;=) function.</p>




<p class="MsoNormal">&nbsp;Q2: Any tutorial on using GHC libraries out there?</p>






<p class="MsoNormal">Thanks!<br>
Dima</p>


<p class="MsoNormal">&nbsp;</p>