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 mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id E13D0800BE for ; Thu, 9 Feb 2017 21:36:22 +0100 (CET) Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=sjs429@cornell.edu; spf=Pass smtp.mailfrom=sjs429@cornell.edu; spf=Pass smtp.helo=postmaster@limerock01.mail.cornell.edu Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of sjs429@cornell.edu) identity=pra; client-ip=128.84.13.241; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="sjs429@cornell.edu"; x-sender="sjs429@cornell.edu"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of sjs429@cornell.edu designates 128.84.13.241 as permitted sender) identity=mailfrom; client-ip=128.84.13.241; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="sjs429@cornell.edu"; x-sender="sjs429@cornell.edu"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of postmaster@limerock01.mail.cornell.edu designates 128.84.13.241 as permitted sender) identity=helo; client-ip=128.84.13.241; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="sjs429@cornell.edu"; x-sender="postmaster@limerock01.mail.cornell.edu"; x-conformance=sidf_compatible; x-record-type="v=spf1" IronPort-PHdr: =?us-ascii?q?9a23=3AHcmxyxc6of8n9piIQdF4ZaVHlGMj4u6mDksu8pMi?= =?us-ascii?q?zoh2WeGdxcu+Yx7h7PlgxGXEQZ/co6odzbGH7+awBCdZuMzJmUtBWaQEbwUCh8?= =?us-ascii?q?QSkl5oK+++Imq/EsTXaTcnFt9JTl5v8iLzG0FUHMHjew+a+SXqvnYdFRrlKAV6?= =?us-ascii?q?OPn+FJLMgMSrzeCy/IDYbxlViDanb75/KBq7oR/Su8QWjoduN7s9xgXUqXZUZu?= =?us-ascii?q?pawn9lK0iOlBjm/Mew+5Bj8yVUu/0/8sNLTLv3caclQ7FGFToqK2866tHluhnF?= =?us-ascii?q?VguP+2ATUn4KnRpSAgjK9w/1U5HsuSbnrOV92S2aPcrrTbAoXDmp8qlmRAP0hC?= =?us-ascii?q?oBKjU09nzchM5tg6JBuB+vpxJxzY3Jbo+LKPVzZbnScc8ASGdbQspdSy5MD4Wh?= =?us-ascii?q?ZIUPFeoBOuNYopHgqVsSsxS+CwesC/3pyjRVm3H22Ko60+AiEQ7cwQctGMkOsH?= =?us-ascii?q?HTrNXxN6cdS/u4w7XTzTnZc/xW3i396I7WfRAlpfGAR6x/ftfMyUQ2EQ7Ok1ae?= =?us-ascii?q?qZT9Mj+IyOgAsHKX4ulvWO61lmIqpRt9riagy8sxkoXFmJ4Zx1Te+Sh6wIs5P8?= =?us-ascii?q?O0RFNnbdK+DZddsyWXOo1rSc04WW5oojw1yrgetJ67YicKzJMnygbba/yGdoiH?= =?us-ascii?q?/AjjVOGNLjd7mH5pZaizhxOo/kihzu3wTNW70FFQripDjNbMsnQN2wbN5ceaV/?= =?us-ascii?q?tx5kah2TCR2ADP8uxIPF44mKnBJ5MizbM8jIcfvErZEiPol0j6kbeadkA+9eip?= =?us-ascii?q?7+TnbK/mppiZN4JskQH+ML8ul8OhDek8KQUBQ2+b+f661LL9+U35RK9GgeMrna?= =?us-ascii?q?nEqJzaP9gUpralAw9J1YYu8wqwAC2j0NQchHUHKFNFeAmbj4XyIFHPIPX4De+l?= =?us-ascii?q?jFi2kTdrwerGPrz7DZnXIHjDiuSpQbEov0VVzQ52ydFE+7pVDKsAKbT9QBmims?= =?us-ascii?q?bfC0oCLwG6zevhQO540YcdUCrbGaqeNKDbmVSToOkoOe+BYItTtTrgfat2r8Xy?= =?us-ascii?q?hGM0zAdONZKi2oEaPSi1?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0A+BQDY0ZxYhvENVIBdhTcDOINSgTaJR?= =?us-ascii?q?JN6AZRhiQgHRBMBAQEBAQEBAQEBARIBAQEKCQsKHS+CMxmCFDNnDQEHNwIkEgE?= =?us-ascii?q?FASKKBwWgH4NAP4wCgiWICweDdBKQSYI6gl8FkEGLMZIUkQWRThQegRU3gR4fE?= =?us-ascii?q?wgXE1MFg2QBgl+KUgEBAQ?= X-IPAS-Result: =?us-ascii?q?A0A+BQDY0ZxYhvENVIBdhTcDOINSgTaJRJN6AZRhiQgHRBM?= =?us-ascii?q?BAQEBAQEBAQEBARIBAQEKCQsKHS+CMxmCFDNnDQEHNwIkEgEFASKKBwWgH4NAP?= =?us-ascii?q?4wCgiWICweDdBKQSYI6gl8FkEGLMZIUkQWRThQegRU3gR4fEwgXE1MFg2QBgl+?= =?us-ascii?q?KUgEBAQ?= X-IronPort-AV: E=Sophos;i="5.35,137,1484002800"; d="scan'208,217";a="212696054" Received: from limerock01.mail.cornell.edu ([128.84.13.241]) by mail3-smtp-sop.national.inria.fr with ESMTP; 09 Feb 2017 21:36:21 +0100 X-CornellRouted: This message has been Routed already. Received: from exchange.cornell.edu (sf-e2013-06.exchange.cornell.edu [10.22.40.53]) by limerock01.mail.cornell.edu (8.14.4/8.14.4_cu) with ESMTP id v19KaHCu015536 for ; Thu, 9 Feb 2017 15:36:20 -0500 Received: from sf-e2013-10.exchange.cornell.edu (10.22.40.57) by sf-e2013-06.exchange.cornell.edu (10.22.40.53) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Thu, 9 Feb 2017 15:36:03 -0500 Received: from mail-wj0-f199.google.com (209.85.210.199) by exchange.cornell.edu (10.22.40.57) with Microsoft SMTP Server (TLS) id 15.0.1210.3 via Frontend Transport; Thu, 9 Feb 2017 15:36:02 -0500 Received: by mail-wj0-f199.google.com with SMTP id h7so3185243wjy.6 for ; Thu, 09 Feb 2017 12:36:13 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:from:date:message-id:subject :to; bh=nBbZqOF1zwnO8H4hx2+kioVYIZ+bseHv9dicQL3y7Ao=; b=Cp8HXOnPvuI6sXjyViUWA1OMJF0XsUwd0Ow+PHfjNqhdrGkzYwKiRoytSUuEuvWy8/ w6sqKvOLYecohOWNdU+DlNxtrk04a2lH+BJ1DOyZFF77A0Md4zmgYdQ2J1Ay6yJROx1P vtwBiTPCGW0oGPxatkxFPGS01OWjNTkztA7Y21tKz9z9+JNsfC7drM6SiiL9dKytAfxI VDxXLMTkILc0xGpWhE5POOrVCK1sH94tn5KCKz7G9EXMfh+qWYUkdMTGB+3NSFRmPoCb irH8YZMgCbY3yvGopDtluBKSidpwpXlPHA0wWq+VaRyjeFrco6oYtsKXSNXPnrXx2+xy jJ2w== X-Gm-Message-State: AMke39kQMns1mkzdv73+990swKgN4anCnIjcJ1Cp1mljHEzGd9uARilKYmyv8UOtnPlguU+6odQhNdKcO4ggYmkUoCSH9AJs27u7YST5X2Fv7V7hR1U9K+G8g5iCRzUFDOA3HrIrkA3TQxO276V2cBRE6kYUw9Sytg== X-Received: by 10.223.136.152 with SMTP id f24mr4402221wrf.187.1486672572535; Thu, 09 Feb 2017 12:36:12 -0800 (PST) X-Received: by 10.223.136.152 with SMTP id f24mr4402213wrf.187.1486672572362; Thu, 09 Feb 2017 12:36:12 -0800 (PST) MIME-Version: 1.0 Sender: Received: by 10.28.87.132 with HTTP; Thu, 9 Feb 2017 12:36:11 -0800 (PST) From: Steffen Smolka Date: Thu, 9 Feb 2017 15:36:11 -0500 X-Google-Sender-Auth: TmTzr2JBfJ74eNShOumH7v7vPoI Message-ID: To: Content-Type: multipart/alternative; boundary="001a1147be6892c4c505481eee32" X-ORG-HybridRouting: f2e2a2846938bbefb809cafb49c3aeca X-ORG-RouteOnPrem: False X-ORG-MsgSource: cmail X-PMX-CORNELL-AUTH-RESULTS: dkim-out=none; Subject: [Caml-list] namespace inside object? --001a1147be6892c4c505481eee32 Content-Type: text/plain; charset="UTF-8" Is it possible to create namespaces inside an object? Concretely, I would like to write class buffer = object(self) ... method get = ... module Latin1 = struct method get = ... end module Utf8 = struct method get = ... end end so that given an object b : buffer, I can call methods b#get b#Latin1.get b#Utf8.get Declaring modules inside an object seems to be illegal, though. Is there any way to achieve something along those lines? Is there a better way to structure things? Thanks, -- Steffen --001a1147be6892c4c505481eee32 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Is it possible to create namespaces inside an object? Conc= retely, I would like to write

class buffer =3D object(se= lf)
=C2=A0 ...
=C2=A0 method get =3D ...
=C2= =A0=C2=A0
=C2=A0 module Latin1 =3D struct
=C2=A0 =C2=A0= method get =3D ...
=C2=A0 end

=C2=A0 mo= dule Utf8 =3D struct
=C2=A0 =C2=A0 method get =3D ...
= =C2=A0 end
end

so that given an object b= : buffer, I can call methods
b#get
b#Latin1.get
<= div>b#Utf8.get

Declaring modules inside an object = seems to be illegal, though. Is there any way to achieve something along th= ose lines? Is there a better way to structure things?

<= div>Thanks,
-- Steffen
--001a1147be6892c4c505481eee32--