<br><div class="gmail_quote">On Thu, Oct 21, 2010 at 8:44 PM, Alan Jeffrey <span dir="ltr"><<a href="mailto:ajeffrey@bell-labs.com">ajeffrey@bell-labs.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
I'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 "coerce-id" 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've pushed a patch that does this. Let me know how it works out.</div>
<div><br></div><div>/ Ulf</div></div>