From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id QAA16255; Wed, 11 Apr 2001 16:04:10 +0200 (MET DST) Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id QAA16232 for caml-list@pauillac.inria.fr; Wed, 11 Apr 2001 16:04:09 +0200 (MET DST) 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 AAA02312 for ; Wed, 11 Apr 2001 00:33:58 +0200 (MET DST) Received: from elbereth.pgh.arsdigita.com (fw1.pgh.arsdigita.com [63.124.128.66]) by concorde.inria.fr (8.11.1/8.10.0) with ESMTP id f3AMXub07065 for ; Wed, 11 Apr 2001 00:33:56 +0200 (MET DST) Received: (from jmp@localhost) by elbereth.pgh.arsdigita.com (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) id f3AMYjP04727; Tue, 10 Apr 2001 18:34:45 -0400 X-Authentication-Warning: elbereth.pgh.arsdigita.com: jmp set sender to jmp@arsdigita.com using -f To: Bruce Hoult Cc: caml-list@inria.fr Subject: Re: [Caml-list] variant with tuple arg in pattern match? References: From: John Prevost In-Reply-To: Message-ID: User-Agent: Gnus/5.090001 (Oort Gnus v0.01) Emacs/21.0.91 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: 10 Apr 2001 18:34:45 -0400 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk >>>>> "bh" == Bruce Hoult writes: bh> Multiple return values. Unless you want to make continuations bh> explicit (and that doesn't seem to be what Caml folk want), bh> arguments in a tuple merely mirror results in a tuple. bh> Curried continuations ... yummm. And this is another reason to consider functions to all be from one value to another value. If you want to work with tuples, fine, you can use tuples to model multiple arguments. You can use a tuple to model multiple return values. Both are actually single values. In Scheme, where functions are considered to take and return multiple values, you have a mess where you need special syntax to return multiple values at once and to accept those multiple values. This mess exists specifically because of continuations, where a continuation could be called with more than one argument. In ML, where you never have more than one argument or return value, it is simpler. Even with continuations, you don't need a new concept of "multiple-return-value". John. ------------------- To unsubscribe, mail caml-list-request@inria.fr. Archives: http://caml.inria.fr