<div class="gmail_quote">Hi,<br><br>On Mon, Jun 29, 2009 at 2:45 PM, Ross Paterson <span dir="ltr">&lt;<a href="mailto:ross@soi.city.ac.uk">ross@soi.city.ac.uk</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


Although (&lt;$) is now a method of the Functor class, it is hidden in the<br>
re-export by the Prelude, Control.Monad and Monad.  The new module<br>
Data.Functor exposes the full class, plus the function (&lt;$&gt;).  These are<br>
also re-exported by Control.Applicative.<br>
</blockquote></div><br>Could we come up with some policy on what goes in Control.* versus Data.*? As we add more and more modules that fits in both categories it&#39;s becoming increasingly hard to remember what lives where. Using both Data and Control gives import lists an ugly asymmetry:<br>

<br>import Control.Applicative<br>import Data.Functor<br>import Control.Monad<br><br>Cheers,<br><br>Johan<br><br>