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=2.4 required=5.0 tests=AWL,DATE_IN_FUTURE_03_06, SPF_FAIL 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 0B584BC69 for ; Wed, 24 Oct 2007 19:36:03 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ah4FANYfH0dSs6cFnWdsb2JhbAA6gSCNAAIBAQsPCA X-IronPort-AV: E=Sophos;i="4.21,325,1188770400"; d="scan'208";a="3604710" Received: from mail-ilca.tepkom.ru (HELO mail.tepkom.ru) ([82.179.167.5]) by mail1-smtp-roc.national.inria.fr with ESMTP; 24 Oct 2007 19:36:02 +0200 Received: from localhost (localhost [127.0.0.1]) by mail.tepkom.ru (Postfix) with ESMTP id B714A580C707; Wed, 24 Oct 2007 21:30:59 +0400 (MSD) X-Virus-Scanned: by amavisd-new-2.4.2 (20060627) (Debian) at tepkom.ru with clamav Received: from mail.tepkom.ru ([127.0.0.1]) by localhost (mail.tepkom.ru [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Z8FbIAbYxt-B; Wed, 24 Oct 2007 21:30:59 +0400 (MSD) Received: from [192.168.1.7] (ppp91-122-104-125.pppoe.avangard-dsl.ru [91.122.104.125]) by mail.tepkom.ru (Postfix) with ESMTP id A4D45580C700; Wed, 24 Oct 2007 21:30:56 +0400 (MSD) Message-ID: <471FBAF1.5010304@tepkom.ru> Date: Wed, 24 Oct 2007 21:36:49 +0000 From: Dmitri Boulytchev User-Agent: Mozilla Thunderbird 1.0.6 (X11/20050905) X-Accept-Language: ru-ru, ru MIME-Version: 1.0 To: William W Smith Cc: caml-list@yquem.inria.fr Subject: Re: [Caml-list] type abbreviation is cyclic References: <344522.90449.qm@web82102.mail.mud.yahoo.com> In-Reply-To: <344522.90449.qm@web82102.mail.mud.yahoo.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Spam: no; 0.00; abbreviation:01 recursive:01 abbreviation:01 beginner's:01 ocaml:01 bug:01 beginners:01 caml-list:01 caml-list:01 constructor:01 cyclic:01 cyclic:01 int:01 int:01 bin:01 As far as I remember you need atleast one constructor in order to declare recursive type: type b = X of (int -> b -> int) BTW, you have that in your first example. Best regards, Dmitri Boulytchev, St.Petersburg State University. > I wonder whether this error is an example of the language being > defined more restrictively than required. What is the reason that I > get these results? > > type a = int -> one -> int and one = Unused | One of a;; > type b = int -> b -> int > > type a is accepted while type b is not. (b gives "The type > abbreviation b is cyclic" However, in the uses that I intended, there > won't be any actual difference between the two. > > I'd appreciate an explanation about why there is difference between a > and b. > > Thanks > > Bill Smith > >------------------------------------------------------------------------ > >_______________________________________________ >Caml-list mailing list. Subscription management: >http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list >Archives: http://caml.inria.fr >Beginner's list: http://groups.yahoo.com/group/ocaml_beginners >Bug reports: http://caml.inria.fr/bin/caml-bugs > >