<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote">On Mon, Apr 29, 2013 at 4:13 PM, Marc Feeley <span dir="ltr"><<a href="mailto:feeley@iro.umontreal.ca" target="_blank">feeley@iro.umontreal.ca</a>></span> wrote:</div>
<div class="gmail_quote"><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Primitives like "cons" and "list" should not force their arguments because they are not strict (i.e. they don't need to know the value of the arguments).<br>

<br>
It isn't clear if type predicates are strict or not.  I can see arguments both ways.<br></blockquote><div><br></div><div style>Hmm, I can't think of a reason to make them lazy.  What's the thought?</div><div style>
<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">If you notice a strict primitive that should force an argument and that doesn't, please let me know and I will fix it.<br>
</blockquote><div><br></div><div style>The REPL printer doesn't auto-force.</div><div style><br></div><div style>Also, I forgot that promises are not "removed" after forcing, the way Haskell thunks are deleted.  I was hoping for an air-tight abstraction.  That's probably not gonna happen, huh?</div>
<div style><br></div><div style>I suppose that's not too bad for my purposes.</div><div style><br></div><div style> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<span class="HOEnZb"><font color="#888888"><br>
Marc<br>
</font></span><div class="HOEnZb"><div class="h5"><br></div></div></blockquote></div></div></div>