<p>That would be nice. It would also be nice to be able to use _ in type signatures as in:</p>
<p>const :: a -&gt; _ -&gt; a<br>
const x _ = x</p>
<p>During type checking each _ could be replaced by a new unique type variable. Visa versa should also be possible: during type inferencing each unique type variable could be replaced by a _.</p>
<p>Bas</p>
<div class="gmail_quote">On Jan 9, 2012 6:22 AM, &quot;wren ng thornton&quot; &lt;<a href="mailto:wren@freegeek.org">wren@freegeek.org</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 1/8/12 8:32 AM, Bas van Dijk wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 23 December 2011 17:44, Simon Peyton-Jones&lt;<a href="mailto:simonpj@microsoft.com" target="_blank">simonpj@<u></u>microsoft.com</a>&gt;  wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
My attempt at forming a new understanding was driven by your example.<br>
<br>
class Functor f where<br>
    type C f :: * -&gt;  Constraint<br>
    type C f = ()<br>
<br>
sorry -- that was simply type incorrect.  () does not have kind *  -&gt;<br>
Constraint<br>
</blockquote>
<br>
So am I correct that the `class Empty a; instance Empty a` trick is<br>
currently the only way to get default associated empty constraints?<br>
</blockquote>
<br>
Couldn&#39;t the following work?<br>
<br>
    class Functor f where<br>
        type C f :: * -&gt; Constraint<br>
        type C f _ = ()<br>
<br>
It seems to me that adding const to the type level (either implicitly or explicitly) is cleaner and simpler than overloading () to be Constraint, *-&gt;Constraint, *-&gt;*-&gt;Constraint,...<br>
<br>
-- <br>
Live well,<br>
~wren<br>
<br>
______________________________<u></u>_________________<br>
Glasgow-haskell-users mailing list<br>
<a href="mailto:Glasgow-haskell-users@haskell.org" target="_blank">Glasgow-haskell-users@haskell.<u></u>org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/glasgow-haskell-users" target="_blank">http://www.haskell.org/<u></u>mailman/listinfo/glasgow-<u></u>haskell-users</a><br>
</blockquote></div>