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 2EF817EEBF for ; Wed, 5 Aug 2015 00:22:55 +0200 (CEST) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of vrotaru.md@gmail.com) identity=pra; client-ip=209.85.215.43; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="vrotaru.md@gmail.com"; x-sender="vrotaru.md@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of vrotaru.md@gmail.com designates 209.85.215.43 as permitted sender) identity=mailfrom; client-ip=209.85.215.43; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="vrotaru.md@gmail.com"; x-sender="vrotaru.md@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-la0-f43.google.com) identity=helo; client-ip=209.85.215.43; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="vrotaru.md@gmail.com"; x-sender="postmaster@mail-la0-f43.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0AVAgAkOsFVmyvXVdFbhFiDI64yMJJ0AoE+TAEBAQEBARIBAQEBAQYLCwkhLoQaCgEBBAECDxEdARsdAQMMBgUDAQc3AgIiAREBBQEcBgEaGod2AQMSpkKBLj4xiz+BbIJ5i0wKGScNV4RWAQEBAQEBBAEBAQEBAQEVAQUOi0GFCAeCaYFDBZR6AYxPmAk1gRcXhAw+MYJMAQEB X-IPAS-Result: A0AVAgAkOsFVmyvXVdFbhFiDI64yMJJ0AoE+TAEBAQEBARIBAQEBAQYLCwkhLoQaCgEBBAECDxEdARsdAQMMBgUDAQc3AgIiAREBBQEcBgEaGod2AQMSpkKBLj4xiz+BbIJ5i0wKGScNV4RWAQEBAQEBBAEBAQEBAQEVAQUOi0GFCAeCaYFDBZR6AYxPmAk1gRcXhAw+MYJMAQEB X-IronPort-AV: E=Sophos;i="5.15,612,1432591200"; d="scan'208";a="172680233" Received: from mail-la0-f43.google.com ([209.85.215.43]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/RC4-SHA; 05 Aug 2015 00:22:54 +0200 Received: by lady2 with SMTP id y2so12952105lad.0 for ; Tue, 04 Aug 2015 15:22:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-type; bh=rGQmPOZjhqtbHZdeK1KuuKGCaZmWc7Jm3Q2292zElFI=; b=H6kvBxyq6aQzEUlodl8CBbOkcx7a97qBSivqKcaYvJjAS1egoobszl/7wO6plU0Kk6 GAyzKzOxIkuSU8cMvCd86V+zbnoWS1+xuCahZcY7WactCfGDRcM9pfZPjSAfBFTtBLAn GLW1GCl9zeQ395GqLW4CCrCXPqFQ2HYWyI9HZA3DXogKK7PE6SF8klHMru4NsZNHpAbI IioQikmdW+Fkc3lrzSSVo1H+VZQSe1oKTbb3FrupAPmWmqYoXklHOLIhAKrMP4iHwAZO 24KcL9KQyZPuGAfzBGnRVrdSJ4W1bQruep/2p/ghxT2s+d2A0zo8UiFWtSiy8byir+bm 7ClQ== X-Received: by 10.152.206.41 with SMTP id ll9mr6598252lac.103.1438726973643; Tue, 04 Aug 2015 15:22:53 -0700 (PDT) MIME-Version: 1.0 References: <55BF6F1C.3050705@bioquant.uni-heidelberg.de> <55BF75F6.1040006@bioquant.uni-heidelberg.de> <8E1A640CE3374EB492981ADB0A2DA5C6@erratique.ch> <20150804092633.GC5689@frosties> <5C2023F4AF0549F58F3E4C9A6F8ABE84@erratique.ch> <55C0D956.8060207@zoho.com> In-Reply-To: <55C0D956.8060207@zoho.com> From: "vrotaru.md@gmail.com" Date: Tue, 04 Aug 2015 22:22:44 +0000 Message-ID: To: Drup , Jeremy Yallop , David Allsopp Cc: =?UTF-8?Q?Daniel_B=C3=BCnzli?= , Goswin von Brederlow , "caml-list@inria.fr" Content-Type: multipart/alternative; boundary=001a1133af6a316528051c83ba22 Subject: Re: [Caml-list] destructive local opens --001a1133af6a316528051c83ba22 Content-Type: text/plain; charset=UTF-8 Thinking a bit more about the subject of "local un-open" I think I may not even mind a recursive variant, but with slightly different syntax, and the following interpreation: A "local un-open" undo the effect of local open, that is, no symbols from the opened module are visible. Than those can be nested with the with the obvious interpretation So with '+' defined in M, N and at the top level and ~(... ) being "local un-open" and a expression like the one below: M.( .... N.( .. + .. ~( .. + ... ~(.. + ..) .. )) first '+' would be N.+ the second one M.+ and the last the top level one. Too clumsy I guess.. Well it was fun. And I will throw in just one more possibility: explicit unopeninng of modules. ~M.(... ) - which may make sense for unshadowing symbols from Pervasives. --001a1133af6a316528051c83ba22 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Thinking a bit more about the subject of "local = un-open" I think I may not even mind a recursive variant, but with sli= ghtly different syntax, and the following interpreation: A "local un-o= pen" undo the effect of local open, that is, no symbols from the opene= d module are visible. Than those can be nested with the with the obvious in= terpretation

So with '+' defined in M, N and at t= he top level and ~(... ) being "local un-open" and a expression l= ike the one below:

=C2=A0=C2=A0 M.( .... N.( ..=C2=A0+ ..= ~( .. + ... ~(.. + ..) .. ))

first=C2=A0 '+' would be N.+ t= he second one M.+ and the last the top level one.

Too clu= msy I guess.. Well it was fun. And I will throw in just one more possibilit= y: explicit unopeninng of modules.

~M.(... ) - which may = make sense for unshadowing symbols from Pervasives.


<= br>


=C2=A0
--001a1133af6a316528051c83ba22--