From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: ** X-Spam-Status: No, score=2.0 required=5.0 tests=DNS_FROM_SECURITYSAGE autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by yquem.inria.fr (Postfix) with ESMTP id 6559FBB84 for ; Tue, 11 Nov 2008 07:35:46 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AugCANq2GEnAXQImgWdsb2JhbACTaz4BARYit3GDVw X-IronPort-AV: E=Sophos;i="4.33,582,1220220000"; d="scan'208";a="19071825" Received: from discorde.inria.fr ([192.93.2.38]) by mail3-smtp-sop.national.inria.fr with ESMTP; 11 Nov 2008 07:35:13 +0100 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id mAB6ZBMo011831 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Tue, 11 Nov 2008 07:35:12 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AmkBANq2GElIDtyfimdsb2JhbACTaz4BAQEKCQwHDwW3boNX X-IronPort-AV: E=Sophos;i="4.33,582,1220220000"; d="scan'208";a="31340231" Received: from fg-out-1718.google.com ([72.14.220.159]) by mail4-smtp-sop.national.inria.fr with ESMTP; 11 Nov 2008 07:35:11 +0100 Received: by fg-out-1718.google.com with SMTP id e21so2554220fga.25 for ; Mon, 10 Nov 2008 22:35:10 -0800 (PST) Received: by 10.86.66.19 with SMTP id o19mr3909969fga.64.1226385310772; Mon, 10 Nov 2008 22:35:10 -0800 (PST) Received: by 10.86.25.3 with HTTP; Mon, 10 Nov 2008 22:35:05 -0800 (PST) Message-ID: <7d8707de0811102235r160ddfe1t40e2e8c839cb3e06@mail.gmail.com> Date: Tue, 11 Nov 2008 07:35:05 +0100 From: "Andrej Bauer" To: caml-list@inria.fr Subject: Re: [Caml-list] Implementation of lazy_t In-Reply-To: <20081110171229.GC803@NANA.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <491861D3.8020709@tu-berlin.de> <20081110171229.GC803@NANA.localdomain> X-Miltered: at discorde with ID 4919279F.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; andrej:01 andrej:01 interp:01 0100,:01 datatype:01 constructors:01 ocaml:01 10,:98 wrote:01 caml-list:01 lazy:02 lazy:02 implemented:02 florian:03 hmm:04 If I may advertise myself, have a look at the implementation of MiniHaskell at the PL Zoo, http://andrej.com/plzoo/ . It has lazy lists, and the code is supposed to be educational. Hmm, looking at interp.ml I see that it's not as call-by-need as it could be. So, a good exercise then is to fix the interpreter to make it lazier :-) Best regards, Andrej > On Mon, Nov 10, 2008 at 05:31:15PM +0100, Florian Lorenzen wrote: >> I would like to know how lazy datatype constructors are implemented in >> OCaml.