From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id EA525BDCE; Tue, 23 Aug 2005 15:34:27 +0200 (CEST) Received: from slinky.cs.nyu.edu (SLINKY.CS.NYU.EDU [128.122.20.14]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j7NDYRKe004720; Tue, 23 Aug 2005 15:34:27 +0200 Received: from localhost (localhost [127.0.0.1]) by slinky.cs.nyu.edu (8.12.10+Sun/8.12.10) with ESMTP id j7NDYQuA021761; Tue, 23 Aug 2005 09:34:26 -0400 (EDT) Date: Tue, 23 Aug 2005 09:34:26 -0400 (EDT) From: Igor Pechtchanski Reply-To: caml-list@yquem.inria.fr To: Damien Doligez Cc: caml-list@yquem.inria.fr Subject: Re: [Caml-list] Parameter evaluation order In-Reply-To: Message-ID: References: <43065B83.6050503@dravanet.hu> <254E6767-A097-455B-872B-483725D26744@inria.fr> <1124781154.8832.12.camel@localhost.localdomain> Importance: Normal MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-559023410-758783491-1124804066=:13716" X-Miltered: at nez-perce with ID 430B25E3.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 damien:01 damien:01 curried:01 evalue:01 annotations:01 arity:01 syntax:01 2005,:98 2005,:98 ...:98 wrote:01 wrote:01 doligez:01 doligez:01 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 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. ---559023410-758783491-1124804066=:13716 Content-Type: TEXT/PLAIN; charset=ISO-8859-1 Content-Transfer-Encoding: 8BIT On Tue, 23 Aug 2005, Damien Doligez wrote: > On Aug 23, 2005, at 09:12, skaller wrote: > > > On Mon, 2005-08-22 at 18:50 +0200, Damien Doligez wrote: > > > > > Suppose you want to evaluate a curried function call in left-to-right > > > order: > > > f e1 e2 e3 e4 > > > > > > You must evaluate f first, then e1. Then you must apply f to e1, > > > giving a new function g1. Then you must evalue e2, then apply f1 to > > > e2, giving f2, etc. > > > > > > That's because f might do some side effects between its arguments. > > > > what data, and possibly annotations, would be required to solve this > > problem? > > The most direct solution is to introduce the notion of function arity in > the type system. As far as I know, there is no theoretical difficulty, > the biggest problem is to find a syntax that satisfies everyone... Hi, Been lurking on this thread, decided to chime in. This may be a naïve question, but what's wrong with tuples? It doesn't seem like the order in which the tuple components are evaluated matters (in terms of efficiency, that is). Am I missing something? Igor -- http://cs.nyu.edu/~pechtcha/ |\ _,,,---,,_ pechtcha@cs.nyu.edu ZZZzz /,`.-'`' -. ;-;;,_ igor@watson.ibm.com |,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski, Ph.D. '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! If there's any real truth it's that the entire multidimensional infinity of the Universe is almost certainly being run by a bunch of maniacs. /DA ---559023410-758783491-1124804066=:13716--