Maybe there could be? You can already postulate obvious lies, so it seems like it wouldn't be too unreasonable for a postulate to claim to be a constructor too?<br><br><div class="gmail_quote">On Tue, Oct 5, 2010 at 3:22 AM, 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;"><div class="im">On 10/04/2010 05:10 PM, Nils Anders Danielsson wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 2010-10-04 22:57, Alan Jeffrey wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Yes, that I get, I just don't understand why not just include a<br>
postulate inf : forall {A} -> \inf(IO A) -> (IO A), and get rid of the<br>
distinction between <a href="http://IO.Primitive.IO" target="_blank">IO.Primitive.IO</a> and <a href="http://IO.IO" target="_blank">IO.IO</a>.<br>
</blockquote>
<br>
Because Agda uses guarded corecursion, and postulates are not treated as<br>
constructors.<br>
</blockquote>
<br></div>
Urg. Good point. Using a coninductive datatype with a run function allows the --no-termination-check option to be local to the IO module, whereas there's no similar "honest I'm a constructor" option.<br>
<font color="#888888">
<br>
A.</font><div><div></div><div class="h5"><br>
_______________________________________________<br>
Agda mailing list<br>
<a href="mailto:Agda@lists.chalmers.se" target="_blank">Agda@lists.chalmers.se</a><br>
<a href="https://lists.chalmers.se/mailman/listinfo/agda" target="_blank">https://lists.chalmers.se/mailman/listinfo/agda</a><br>
</div></div></blockquote></div><br>