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.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!
KyleOn Tue, Feb 11, 2014 at 5:52 PM, Roman Cheplyaka <roma@ro-che.info> wrote:
Except Scheme is not pure — they use set! to achieve memoisation.
I don't think the OP bothers with memoisation in his/her encoding,
though.
Roman
* Kyle Marek-Spartz <kyle.marek.spartz@gmail.com> [2014-02-11 15:54:34-0600]
> SICP comes to mind: http://mitpress.mit.edu/sicp/full-text/sicp/book/node70.html
>
> --
> Kyle Marek-Spartz
>
> On February 11, 2014 at 3:47:09 PM, flicky frans (flickyfrans@gmail.com) wrote:
> >
> > Hello. I am currently writing lists with lazy semantics in the
> > pure
> > lambda-calculus with call-by-value reduction strategy.
> > Here is an example: http://pastebin.com/SvQ5hCSD
> > Here is a simple interpetator: http://pastebin.com/mejCWqpu
> > Am I reinventing the wheel? Are there some sources, from where
> > i can
> > learn more about lazy evaluation in the strict languages?
> > _______________________________________________
> > Haskell-Cafe mailing list
> > Haskell-Cafe@haskell.org
> > http://www.haskell.org/mailman/listinfo/haskell-cafe
> >
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe