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 nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id 820CABB81 for ; Thu, 23 Feb 2006 20:03:09 +0100 (CET) Received: from smtp6.wanadoo.fr (smtp6.wanadoo.fr [193.252.22.25]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id k1NJ392v004837 for ; Thu, 23 Feb 2006 20:03:09 +0100 Received: from me-wanadoo.net (localhost [127.0.0.1]) by mwinf0609.wanadoo.fr (SMTP Server) with ESMTP id 4D16A2400129 for ; Thu, 23 Feb 2006 20:03:09 +0100 (CET) Received: from nono (ARouen-106-1-3-31.w80-11.abo.wanadoo.fr [80.11.87.31]) by mwinf0609.wanadoo.fr (SMTP Server) with SMTP id E239C2400115; Thu, 23 Feb 2006 20:03:08 +0100 (CET) X-ME-UUID: 20060223190308926.E239C2400115@mwinf0609.wanadoo.fr Message-ID: <009b01c638ac$6a57b0e0$1f570b50@mshome.net> From: =?iso-8859-1?Q?Fr=E9d=E9ric_Gava?= To: , "Eric Cooper" References: <006101c6389e$9bbbc440$1f570b50@mshome.net> <20060223183306.GA17390@localhost> Subject: Re: [Caml-list] (int * int) <> int*int ? Date: Thu, 23 Feb 2006 20:07:38 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4133.2400 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 X-Spam: no; 0.00; gava:01 gava:01 caml-list:01 runtime:01 indirection:01 parens:01 int-:01 int-:01 runtime:01 char:01 12.:98 int:01 int:01 types:02 types:02 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: * X-Spam-Status: No, score=1.0 required=5.0 tests=RCVD_IN_NJABL_PROXY autolearn=disabled version=3.0.3 > # type t=A of int*int and t'= B of (int*int);; > type t = A of int * int > and t' = B of (int * int) > See section 18.3.4 of the manual -- the distinction allows the runtime > representation of t to avoid a level of indirection. Thanks for your anwser but I am not convinced that is a good reason. If "t" is better why " t' " is not automatically tranform into "t" (it is easy, you just delete the global parens). ok (int->int)->int <> int->int->int or int*int*int<>int*(int*int) . Morever I think that int*int=(int*int) "everywhere" in ML... # type t=int*int;; type t = int * int # type t'=(int*int);; type t' = int * int >And since the runtime representations are different, the types have to be different. Wrong, you can the same representation but different types (e.g. int, char or many other examples) Best, FG