<div dir="ltr">Yes. Edward Yang has a wonderful series on how Haskell's (GHC's) runtime works under the hood <a href="http://blog.ezyang.com/2011/04/the-haskell-heap/">http://blog.ezyang.com/2011/04/the-haskell-heap/</a>. </div>

<div class="gmail_extra"><br clear="all"><div><div dir="ltr"><div><br></div>Cheers,<div>Danny Gratzer</div></div></div>
<br><br><div class="gmail_quote">On Tue, Feb 11, 2014 at 9:24 PM, Kyle Miller <span dir="ltr"><<a href="mailto:kmill31415@gmail.com" target="_blank">kmill31415@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr">Please correct me if I'm wrong, but isn't Haskell secretly doing a set! when parts of an ADT are evaluated to memoize them?  In the vein of lazy lists, taking the tail of a list in Haskell would be one such example.<div>


<br></div><div>I noticed this secret set! when I was learning about its garbage collector: I was surprised at first that objects in older generations could ever have pointers to objects in newer generations!</div><span class="HOEnZb"><font color="#888888"><div>

<br>
</div><div>Kyle</div></font></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Feb 11, 2014 at 5:52 PM, Roman Cheplyaka <span dir="ltr"><<a href="mailto:roma@ro-che.info" target="_blank">roma@ro-che.info</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Except Scheme is not pure — they use set! to achieve memoisation.<br>
<br>
I don't think the OP bothers with memoisation in his/her encoding,<br>
though.<br>
<br>
Roman<br>
<br>
* Kyle Marek-Spartz <<a href="mailto:kyle.marek.spartz@gmail.com" target="_blank">kyle.marek.spartz@gmail.com</a>> [2014-02-11 15:54:34-0600]<br>
<div><div>> SICP comes to mind: <a href="http://mitpress.mit.edu/sicp/full-text/sicp/book/node70.html" target="_blank">http://mitpress.mit.edu/sicp/full-text/sicp/book/node70.html</a><br>
><br>
> --<br>
> Kyle Marek-Spartz<br>
><br>
> On February 11, 2014 at 3:47:09 PM, flicky frans (<a href="mailto:flickyfrans@gmail.com" target="_blank">flickyfrans@gmail.com</a>) wrote:<br>
> ><br>
> > Hello. I am currently writing lists with lazy semantics in the<br>
> > pure<br>
> > lambda-calculus with call-by-value reduction strategy.<br>
> > Here is an example: <a href="http://pastebin.com/SvQ5hCSD" target="_blank">http://pastebin.com/SvQ5hCSD</a><br>
> > Here is a simple interpetator: <a href="http://pastebin.com/mejCWqpu" target="_blank">http://pastebin.com/mejCWqpu</a><br>
> > Am I reinventing the wheel? Are there some sources, from where<br>
> > i can<br>
> > learn more about lazy evaluation in the strict languages?<br>
> > _______________________________________________<br>
> > Haskell-Cafe mailing list<br>
> > <a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
> > <a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
> ><br>
><br>
> _______________________________________________<br>
> Haskell-Cafe mailing list<br>
> <a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
> <a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</div></div><br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div><br></div>