From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 00B767FD92 for ; Fri, 10 Jun 2016 22:06:38 +0200 (CEST) IronPort-PHdr: 9a23:A29DkhEvNfgoU1njfSGaS51GYnF86YWxBRYc798ds5kLTJ74os2wAkXT6L1XgUPTWs2DsrQf27uQ7P+rADdQqb+681k8M7V0HycfjssXmwFySOWkMmbcaMDQUiohAc5ZX0Vk9XzoeWJcGcL5ekGA6ibqtW1aJBzzOEJPK/jvHcaK1oLsh7H0pMKYOl4YzBOGIppMbzyO5T3LsccXhYYwYo0Q8TDu5kVyRuJN2GlzLkiSlRuvru25/Zpk7jgC86l5r50IeezAcq85Vb1VCig9eyBwvZWz9Er1dhaU/nYXTkkRlxNJBUCFsEC7Dd/NtX7BN+B0wzWbMMvBbbEyVTm44r0jHCTlgi4cKz809if3i8p8gbhWujqgoQZ+ysjaetfRfPF3e6eVYMgXX3EJCs1YUigEBoKnc6MOCfAANKBWtd+uiUEJqE6RDAO2Be7rggRDhnLs0Ldyh+soGxvH0QhmBNkOvW7Ztv36Ma4TVaa+y6yenmaLVO9fxTqosNuASRsmu/zZGO8pfA== Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=gabriel.scherer@gmail.com; spf=Pass smtp.mailfrom=gabriel.scherer@gmail.com; spf=None smtp.helo=postmaster@mail-it0-f52.google.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of gabriel.scherer@gmail.com) identity=pra; client-ip=209.85.214.52; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="gabriel.scherer@gmail.com"; x-sender="gabriel.scherer@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of gabriel.scherer@gmail.com designates 209.85.214.52 as permitted sender) identity=mailfrom; client-ip=209.85.214.52; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="gabriel.scherer@gmail.com"; x-sender="gabriel.scherer@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-it0-f52.google.com) identity=helo; client-ip=209.85.214.52; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="gabriel.scherer@gmail.com"; x-sender="postmaster@mail-it0-f52.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0CsAgCKHFtXfTTWVdFeg1w4fQaqCZEXgXoihXUCgSQHOhIBAQEBAQEBAREBAQkLCwkhL4IwghYBAQQSER0BGxIMAwwGBQsNAgIJHQICIQEBEQEFAQoSBgESEhCHcwEDFw6fRYExPjGLO4FqglkFhzgKGScDClKDLAEBAQEGAQEBAQEaAgYQcYUmhE2CQ4R+gloBBIZFDJFaNIFYhCyGKoF6gjeMaYd+hi4SHoEPJQuCHj+BUSAyiggBAQE X-IPAS-Result: A0CsAgCKHFtXfTTWVdFeg1w4fQaqCZEXgXoihXUCgSQHOhIBAQEBAQEBAREBAQkLCwkhL4IwghYBAQQSER0BGxIMAwwGBQsNAgIJHQICIQEBEQEFAQoSBgESEhCHcwEDFw6fRYExPjGLO4FqglkFhzgKGScDClKDLAEBAQEGAQEBAQEaAgYQcYUmhE2CQ4R+gloBBIZFDJFaNIFYhCyGKoF6gjeMaYd+hi4SHoEPJQuCHj+BUSAyiggBAQE X-IronPort-AV: E=Sophos;i="5.26,451,1459807200"; d="scan'208";a="221985469" Received: from mail-it0-f52.google.com ([209.85.214.52]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 10 Jun 2016 22:06:37 +0200 Received: by mail-it0-f52.google.com with SMTP id h190so4005143ith.1; Fri, 10 Jun 2016 13:06:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-transfer-encoding; bh=VR9fKhvhbJ5gzUg/G5C5JjX6StMzYUDMsHr7oN7MLt0=; b=mzGOOOhASemkl/CqEmofCshsFDB9XZVxcKQOpKB5r6OKLYgW5UxIpcJU7rRmdW70LM 8EWPtQhT75qQlXVPnA3GGtBpzSk24cqKXYu1qDxiW83nwc70VskmwyyZKBnpOcb/EMa5 YnOs3VVqHvAbWvIGGZKNLHQFnIg3Td+5MiDDqwekC1ttAeT0p8sI17+MtF8KC6MKRVTb MJZ+D8VuIIxwd+nLCSpdgWqXyVrsCOn7hnr/NcYeRfkuVHkbTLZ2diVdJstugUCAOogE bgtz8yP6/BiVdxZ32Pz3O+IdLOVNLE9X3YSlJrB4Jc5yb0d76HxIrAu5MWLK8riSx5w2 Ny/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:content-transfer-encoding; bh=VR9fKhvhbJ5gzUg/G5C5JjX6StMzYUDMsHr7oN7MLt0=; b=FPrGDlNtM69fCt3C3ZXricd45W0fclWx2RVT4o+6M7Y4zRcrjYuPsaiszZdoGCoJjJ EPu7g0eYDXZwtU8El8+HTc4N9mYTrwsmPYFw31JKtWLhusZCdDH9Q0WoIaRrXjC4ZVS1 zLvUXSx+mGVQkY8mrqzhMRGyzwLp5jcux8apsufg7z3yjPFVGn9nlV+D5ad7uVUTVIbt b71uINiHP2ife/SdGn7/NWPGmYGcr7DEyo+AQK90L4n9tWfvS42Mt3F0BRK8jE5ijTy3 2N1T59tSd/f0rKfu3mnX6nz9fzNSTSTezGou0SG6pjXmGI7pLH+EEzKkFUJ5PGVCsACh FygA== X-Gm-Message-State: ALyK8tI/g6QS55nwLy4eM+1X8p7UwkszvNIHiuBsmOqglGjQqzH9uXdU2m5qtpKCTRKT1nQZ7gaA5nc2E2KfhA== X-Received: by 10.36.64.8 with SMTP id n8mr1364374ita.21.1465589195659; Fri, 10 Jun 2016 13:06:35 -0700 (PDT) MIME-Version: 1.0 Received: by 10.79.89.195 with HTTP; Fri, 10 Jun 2016 13:05:56 -0700 (PDT) In-Reply-To: References: <20160610200021.GA2068@pl-59055.rocqadm.inria.fr> From: Gabriel Scherer Date: Fri, 10 Jun 2016 16:05:56 -0400 Message-ID: To: =?UTF-8?Q?S=C3=A9bastien_Hinderer?= , caml users Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Caml-list] Error: The type abbreviation t is cyclic while defining submodules P.S.: Note that "nonrec" is only in definitions (struct .. end) and signatures (sig .. end), not in equations such as "with type t =3D t" which are a different construct, interpreted recursively -- not the best choice for consistency, but well. On Fri, Jun 10, 2016 at 4:03 PM, Gabriel Scherer wrote: > This is > > type nonrec t =3D t > > which has been introduced in 4.02, after some years of internal usage > of (a syntax preprocessor implementing) it internally in Jane Street. > > On Fri, Jun 10, 2016 at 4:00 PM, S=C3=A9bastien Hinderer > wrote: >> Dear all, >> >> Assume the following code in a file points.ml: >> >> type t =3D float * float >> >> let compare =3D Pervasives.compare >> >> (* Other functions on points *) >> >> module OrderedPoints : Set.OrderedType with type t =3D t =3D struct >> type t =3D t >> let compare =3D compare >> end >> >> module PointSet : Set.S with type t =3D t =3D Set.Make(OrderedPoints) >> >> >> The line >> type t =3D t >> yields the above mentionned error. >> >> Is there a way to let the compiler know that the t appearing after the >> "=3D" sign refers to the type defined at points.ml top level? >> >> Thanks! >> >> S=C3=A9bastien. >> >> -- >> Caml-list mailing list. Subscription management and archives: >> https://sympa.inria.fr/sympa/arc/caml-list >> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners >> Bug reports: http://caml.inria.fr/bin/caml-bugs