<div dir="ltr">map :: Functor [] => (a -> b) -> [a] -> [b]<div><br></div><div>already has existing, different, semantics today to what Greg is proposing here.</div><div><br></div><div>It is asking for an instance of Functor for [] to be supplied. </div><div><br></div><div>Since that instance exists an is scope, the constraint is trivially satisfied, so this collapses to</div><div><br></div><div>map :: (a -> b) -> [a] -> [b]</div><div><br></div><div>the signature we already have, with the semantics we already have.</div><div><br></div><div>-Edward</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 17, 2015 at 3:38 AM, Henning Thielemann <span dir="ltr"><<a href="mailto:lemming@henning-thielemann.de" target="_blank">lemming@henning-thielemann.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
<br>
On Mon, 16 Feb 2015, Greg Weber wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I had an idea whose goal is to ease people into Foldable, Traversable, etc.<br>
There could be a notation that shows the generalization that is occurring.<br>
<br>
map :: Functor [_] => (a -> b) -> [a] -> [b]<br>
<br>
This means that the syntax for the list type is now syntax for the variable created by the Functor<br>
constraint.<br>
</blockquote>
<br></span>
Btw. there is already a prefix name for the list type constructor, namely '[]'. Thus I think your example would be:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
map :: Functor [] => (a -> b) -> [a] -> [b]<br>
</blockquote><div class="HOEnZb"><div class="h5">
______________________________<u></u>_________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org" target="_blank">Libraries@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" target="_blank">http://mail.haskell.org/cgi-<u></u>bin/mailman/listinfo/libraries</a><br>
</div></div></blockquote></div><br></div>