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=0.1 required=5.0 tests=AWL 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 3F42DBBAF for ; Fri, 30 May 2008 14:17:50 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AuUCAFaNP0jAXQImiGdsb2JhbACSLwEBAQ8gnB4 X-IronPort-AV: E=Sophos;i="4.27,566,1204498800"; d="scan'208";a="12964069" Received: from discorde.inria.fr ([192.93.2.38]) by mail1-smtp-roc.national.inria.fr with ESMTP; 30 May 2008 14:17:50 +0200 Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id m4UCHn1C029794 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Fri, 30 May 2008 14:17:50 +0200 X-IronPort-AV: E=Sophos;i="4.27,566,1204498800"; d="scan'208";a="11333974" Received: from 250-112.msr-inria.inria.fr ([193.55.250.112]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/AES128-SHA; 30 May 2008 14:17:49 +0200 Message-Id: <8441D806-117E-4FB8-8771-C76A6973A055@inria.fr> From: Damien Doligez To: caml users In-Reply-To: <483F54A5.4020808@cs.caltech.edu> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v924) Subject: Re: [Caml-list] syntax question Date: Fri, 30 May 2008 14:17:49 +0200 References: <483F2CEC.7020701@cs.caltech.edu> <483F54A5.4020808@cs.caltech.edu> X-Mailer: Apple Mail (2.924) X-Miltered: at discorde with ID 483FF06D.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; damien:01 damien:01 syntax:01 vanier:01 afaik:01 ocaml:01 val:01 syntax:01 foo:01 foo:01 doligez:01 doligez:01 wrote:01 caml-list:01 int:01 On 2008-05-30, at 03:13, Michael Vanier wrote: > I realize that this is how it works, but I don't understand why it > should work this way. AFAIK elsewhere in ocaml "int * int" always > refers to a tuple. Almost, but not quite: # let int = 2;; val int : int = 2 # int * int;; - : int = 4 Seriously, it's only an ergonomy problem in the syntax of type definitions. Some better alternatives would be: type testme = Foo (int, int);; or, if you like keyword-oriented syntax: type testme = Foo of int and int;; But in any case, it's way too late to fix this problem now, so we have to live with it, at least in the classic syntax. -- Damien