From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id D231ABC29 for ; Fri, 4 Aug 2006 20:05:10 +0200 (CEST) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id k74I44rr024500 for ; Fri, 4 Aug 2006 20:04:04 +0200 Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id UAA21429 for ; Fri, 4 Aug 2006 20:04:03 +0200 (MET DST) Received: from vaxjo.synopsys.com (vaxjo.synopsys.com [198.182.60.75]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id k74I42Y9024475 for ; Fri, 4 Aug 2006 20:04:03 +0200 Received: from mother.synopsys.com (mother.synopsys.com [146.225.100.171]) by vaxjo.synopsys.com (Postfix) with ESMTP id B75A3DCCF; Fri, 4 Aug 2006 11:03:54 -0700 (PDT) Received: from US01Natrium.internal.synopsys.com (localhost [127.0.0.1]) by mother.synopsys.com (8.9.1/8.9.1) with ESMTP id LAA11929; Fri, 4 Aug 2006 11:03:54 -0700 (PDT) Received: from US01WEMBX3.internal.synopsys.com ([10.9.67.26]) by US01Natrium.internal.synopsys.com with Microsoft SMTPSVC(5.0.2195.6713); Fri, 4 Aug 2006 11:03:53 -0700 Received: from [10.44.9.153] ([10.44.9.153]) by US01WEMBX3.internal.synopsys.com with Microsoft SMTPSVC(6.0.3790.1830); Fri, 4 Aug 2006 11:03:51 -0700 Message-ID: <44D38C06.5060602@synopsys.com> Date: Fri, 04 Aug 2006 14:03:50 -0400 From: Alan Falloon User-Agent: Thunderbird 1.5.0.5 (X11/20060719) MIME-Version: 1.0 To: skaller Cc: Alexander Bottema , caml-list@inria.fr Subject: Re: [Caml-list] strict? References: <1154638579.5206.50.camel@rosella.wigram> In-Reply-To: <1154638579.5206.50.camel@rosella.wigram> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 04 Aug 2006 18:03:51.0951 (UTC) FILETIME=[57C9B9F0:01C6B7F0] X-Miltered: at concorde with ID 44D38C14.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at concorde with ID 44D38C12.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; ocaml:01 haskell:01 citeseer:01 citeseer:01 psu:98 wrote:01 caml-list:01 alan:01 define:01 lazy:02 lazy:02 dependence:03 languages:03 papers:05 variable:05 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.3 skaller wrote: > Some languages define application as eager (Ocaml) and some > lazy (Haskell) but Felix does both and neither :) > > The basic idea is some things are eager, some lazy, but most > are 'up to the compiler'. > > So actually, three significant factors seem to exist: > side effects or not, dependence on a variable or not, > and finally whether the function is strict. > It sounds like you are talking about "lenient" evaluation. I was looking into this stuff a while ago. As far as I can tell, there aren't many papers out there about it, but this one is pretty good: http://www.cs.cmu.edu/~seth/lenient.pdf. The citeseer page might get you some more info http://citeseer.ist.psu.edu/schauser95how.html