<div dir="ltr">On Thu, Jul 18, 2013 at 9:58 AM, harry <span dir="ltr">&lt;<a href="mailto:voldermort@hotmail.com" target="_blank">voldermort@hotmail.com</a>&gt;</span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Which brings me back to my original question - is there any way that the<br>
type system could be enhanced, so that the compiler &quot;understands&quot; that Bar f<br>
=&gt; Foo f without being told so explicitly every time?<br></blockquote><div><br></div><div style>No. The point is, it&#39;s not simply a type annotation; it&#39;s a *value* (a dictionary) that must be carried along with the rest of the value somehow. The compiler can&#39;t always work out statically which instances need to be used with the affected value, so it has to be available at run time; the context is effectively declaring that the run-time dictionary is a required extra parameter. And it wouldn&#39;t really be workable for some types to secretly imply that extra parameter and others not.</div>
</div><div><br></div>-- <br><div dir="ltr"><div>brandon s allbery kf8nh                               sine nomine associates</div><div><a href="mailto:allbery.b@gmail.com" target="_blank">allbery.b@gmail.com</a>                                  <a href="mailto:ballbery@sinenomine.net" target="_blank">ballbery@sinenomine.net</a></div>
<div>unix, openafs, kerberos, infrastructure, xmonad        <a href="http://sinenomine.net" target="_blank">http://sinenomine.net</a></div></div>
</div></div>