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=1.9 required=5.0 tests=AWL,DNS_FROM_RFC_POST, SPF_NEUTRAL 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 5E783BBAF for ; Sun, 14 Jun 2009 09:55:15 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgkCADRKNErRVdzZmGdsb2JhbACYBz8BAQEBAQgJDAcTqGKBGI4iAQMCBIQJBQ X-IronPort-AV: E=Sophos;i="4.42,217,1243807200"; d="scan'208";a="31210347" Received: from mail-fx0-f217.google.com ([209.85.220.217]) by mail1-smtp-roc.national.inria.fr with ESMTP; 14 Jun 2009 09:55:15 +0200 Received: by fxm17 with SMTP id 17so2848194fxm.27 for ; Sun, 14 Jun 2009 00:55:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=m1YzRx6TNesWYanMSEtyaRCXkDenlXN3K4TrXwfeJ0c=; b=RzC0dB6W7Ukgh03WJVvaV5XXBmV0Ew7jNbvYiUQPFF8Fi2ncGBCr1H83GyLA8obPnY ZzUH4OOWlxpfYPXRlaDnGuFCUqgXmhc1BNVUyHLD3QOHMMshVuI87Nz/tLKL1MoC211k 2m8W0RmzwKvnn7XCrElmODUOoSQdu+q5Pqo4E= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=pInWN4z7xwQl/QrKLN+MNMs7nwhMwq50J4GqjEf03nXBut3w5AD1IfYwSjuqBQGCDA N2TTFHjIu4jY4qoZlthJpvYecZGwMfXpWsmiXbLvzifGHI8AtwpPuTntkgQuuHjxkyeW aeGDdmreWJbyCpReR3SYAWebVtTN+P+9RoMiE= MIME-Version: 1.0 Received: by 10.204.119.129 with SMTP id z1mr5646529bkq.67.1244966113993; Sun, 14 Jun 2009 00:55:13 -0700 (PDT) In-Reply-To: References: Date: Sun, 14 Jun 2009 09:55:13 +0200 Message-ID: <527cf6bc0906140055ye627fc4h2a2b8db3ca27d5ef@mail.gmail.com> Subject: Re: [Caml-list] Camlp4, answering my own question From: blue storm To: Jacques Le Normand Cc: caml-list caml-list Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Spam: no; 0.00; camlp:01 longident:01 lowercase:01 foo:01 longident:01 foo:01 sig:01 sig:01 storm:98 2009:98 011.:98 wrote:01 naming:01 caml-list:01 constraint:01 On Sun, Jun 14, 2009 at 2:31 AM, Jacques Le Normand wrote: > Dear List, > With regard to the last post, I've found the solution to my problem. The > parts of the grammar are > type_longident_and_parameters > and > type_ident_and_parameters > > The question is: what's the difference between these two values? type_ident_... only accepts a lowercase identifier ("foo"), while type_longident_.. accepts a qualified type identifier ("Bar.foo", and other strangeties). type_ident_... is used for type declarations, and type_longident_... is used when referring to an existing type in the "with ..." module constraint : module type A = sig module B : sig type t end end module type C = A with type B.t = int It's the distinction between "naming objects" (typeconstr-name) and "referring to named objects" (typeconstr) in the manual : http://caml.inria.fr/pub/docs/manual-ocaml/manual011.html