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! Kyle On 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