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=1.6 required=5.0 tests=AWL,HTML_00_10,HTML_MESSAGE, SPF_NEUTRAL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id A3964BC69 for ; Thu, 18 Oct 2007 11:52:29 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAL3JFkfAXQImh2dsb2JhbACCcotcAgEICik X-IronPort-AV: E=Sophos;i="4.21,294,1188770400"; d="scan'208";a="3158859" Received: from discorde.inria.fr ([192.93.2.38]) by mail1-smtp-roc.national.inria.fr with ESMTP; 18 Oct 2007 11:52:29 +0200 Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id l9I9qOR7012559 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Thu, 18 Oct 2007 11:52:29 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAHPJFkfRVca8mGdsb2JhbACCcotcAgEBBwIGExg X-IronPort-AV: E=Sophos;i="4.21,294,1188770400"; d="scan'208";a="4689011" Received: from rv-out-0910.google.com ([209.85.198.188]) by mail3-smtp-sop.national.inria.fr with ESMTP; 18 Oct 2007 11:52:27 +0200 Received: by rv-out-0910.google.com with SMTP id f5so93172rvb for ; Thu, 18 Oct 2007 02:52:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type; bh=hkXNP0MNThVTBfGcwAWhcs+onLToIH594agCFjCtK98=; b=CMaeCmt43KClyYNzGJoelii7m47G4aVKqN3aeAgq+1O0bnvOFQ5pd/5+xZ61Vqmbr4stTOXg8r0f/uiq4HBpwHO/SfFLvDFYFxRvSkByg7utfSToaCBrAkyugAY3Z36rv5l50J/zyaKpgrysHu2s2U2LlQSjUGAj9oW+RsRJBfs= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:mime-version:content-type; b=jq/FZonl+kiFMXWuyTMEVbyZ5XdjGsePNHJabvx+Sj7LomaBhP/C+ESklRneN7TgGfMNRVWQHE9jJHmaX8Fi+jfrQDZ92wLjEdcVR/u5scnYzUgeDwrvNYd44+UIDb4qeKuYHicuDrwDHgjdAhy2gJclkiHA53ee0cW85ZUgtDM= Received: by 10.140.126.14 with SMTP id y14mr155655rvc.1192701146506; Thu, 18 Oct 2007 02:52:26 -0700 (PDT) Received: by 10.141.83.10 with HTTP; Thu, 18 Oct 2007 02:52:26 -0700 (PDT) Message-ID: Date: Thu, 18 Oct 2007 11:52:26 +0200 From: Tom To: "Caml-list List" Subject: Help me find this pdf MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_580_2994660.1192701146485" X-Miltered: at discorde with ID 47172CD8.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; functions:01 functions:01 lazy:02 lazy:02 implemented:02 implemented:02 primitive:02 primitive:02 long:06 long:06 arguments:07 arguments:07 indeed:07 indeed:07 blocks:07 X-Attachments: cset="UTF-8" cset="UTF-8" ------=_Part_580_2994660.1192701146485 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline Not long ago I was searching the Internet on the topic "combining eager and lazy evaluation", and have run over a paper which I obviously dismissed as "not interesting enough", yet now I have realized that it could indeed be useful, but am unable to find it. I know it was talking about a useful primitive, I do not know how exactly it was named, which checked whether values passed as arguments to functions were lazy (blocks to be evaluated) or eager (already evaluated), and using it some functions, e.g. map (this example was present in the paper) could be implemented to be both eager and lazy at the same time, depending on the arguments. Does anyone recognize this description? - Tom ------=_Part_580_2994660.1192701146485 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline Not long ago I was searching the Internet on the topic "combining eager and lazy evaluation", and have run over a paper which I obviously dismissed as "not interesting enough", yet now I have realized that it could indeed be useful, but am unable to find it.

I know it was talking about a useful primitive, I do not know how exactly it was named, which checked whether values passed as arguments to functions were lazy (blocks to be evaluated) or eager (already evaluated), and using it some functions, e.g. map (this example was present in the paper) could be implemented to be both eager and lazy at the same time, depending on the arguments.

Does anyone recognize this description?

 - Tom
------=_Part_580_2994660.1192701146485--