<br><div class="gmail_quote">On Thu, Oct 21, 2010 at 8:44 PM, Alan Jeffrey <span dir="ltr">&lt;<a href="mailto:ajeffrey@bell-labs.com">ajeffrey@bell-labs.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
I&#39;m building the new compiler now...  Fingers crossed!<br>
<br>
A more general solution to the problem of unsafeCoerce getting in the way would be for Agda to use its own coerce function, defined something like:<br>
<br>
  {-# INLINE [1] coerce #-}<br>
  coerce = Unsafe.Coerce.unsafeCoerce<br>
<br>
  {-# RULES &quot;coerce-id&quot; forall (x :: a) . coerce x = x #-}<br>
<br>
This would at least remove all the identity coercions, and would allow other FFI bindings to define their own RULES.</blockquote><div><br></div><div>I&#39;ve pushed a patch that does this. Let me know how it works out.</div>
<div><br></div><div>/ Ulf</div></div>