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.2 required=5.0 tests=AWL,HTML_MESSAGE autolearn=disabled version=3.1.3 Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by yquem.inria.fr (Postfix) with ESMTP id BAA18BBC1 for ; Thu, 10 Apr 2008 02:52:40 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ag4FAI8B/UfAXQIn/2dsb2JhbACCPjakT4U7 X-IronPort-AV: E=Sophos;i="4.25,632,1199660400"; d="scan'208";a="11281028" Received: from concorde.inria.fr ([192.93.2.39]) by mail3-smtp-sop.national.inria.fr with ESMTP; 10 Apr 2008 02:52:40 +0200 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id m3A0qdm6007278 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Thu, 10 Apr 2008 02:52:40 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AioBABYB/UfRVYT0d2dsb2JhbACCPjaOVQEMAwQFCRaVP4U6 X-IronPort-AV: E=Sophos;i="4.25,632,1199660400"; d="scan'208";a="24820339" Received: from an-out-0708.google.com ([209.85.132.244]) by mail4-smtp-sop.national.inria.fr with ESMTP; 10 Apr 2008 02:52:39 +0200 Received: by an-out-0708.google.com with SMTP id c24so659544ana.97 for ; Wed, 09 Apr 2008 17:52:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type; bh=cQS0U2Jh5cm/8BvrMDAYrYJ6QHqS1aE4uq3iOsIx66M=; b=WNPiRgDKnW83i+05TIVvV/x+8+Y6qUfdIaeSVuQLiM3BUyeVH52Cwgelcem6RPIXFatPAq4ALCQSDl4o4NDrefMUwf9m30I6ZiQZIw68btUgxIbEAOHCdpBTJ0pn0Xo+sDWbq1BhpMZk3tav7WOQQ2qX80gng7fj6T3E9TIenfU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type; b=CH2VJn+igZ2fgB5E9WRy39LQ+Iq4eObuknRC/CH93eZKrAlpZ4B47KzChA94sx8Lr4UQebmnNcaerDSn23CutL83FJffZAUNjFYPiu+XuTkCvREVks9dTAbwV9xAQ7B2PbjFlSFRwNx8an+qiA4/v32elaECmeCiSTzwXeDEuAY= Received: by 10.100.3.4 with SMTP id 4mr726875anc.132.1207788758120; Wed, 09 Apr 2008 17:52:38 -0700 (PDT) Received: by 10.100.215.4 with HTTP; Wed, 9 Apr 2008 17:52:37 -0700 (PDT) Message-ID: Date: Wed, 9 Apr 2008 20:52:38 -0400 From: "Jacques Le Normand" To: caml-list@inria.fr Subject: using functors in objects MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_4643_12947549.1207788758108" X-Miltered: at concorde with ID 47FD64D7.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; functors:01 sig:01 struct:01 val:01 struct:01 syntax:01 sig:01 val:01 syntax:01 caml-list:01 caml-list:01 inherit:01 inherit:01 objects:02 module:03 ------=_Part_4643_12947549.1207788758108 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline hello caml-list, I would like to do something like this: module A (X: sig type t end) = struct class c = object val b = (None : X.t option) end end class d = module Y = A(struct type t = d end) object inherit Y.c end which, of course, gives me a syntax error. is it possible to bind a module inside a class? --Jacques ------=_Part_4643_12947549.1207788758108 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline hello caml-list,
I would like to do something like this:

module A (X: sig type t end) =
struct
  class c =
  object
    val b = (None : X.t option)
  end
end

class d =
module Y = A(struct type t = d end)
object
  inherit Y.c
end

which, of course, gives me a syntax error. is it possible to bind a module inside a class?
--Jacques

------=_Part_4643_12947549.1207788758108--