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 4A52B7EEBF for ; Wed, 5 Aug 2015 00:56:04 +0200 (CEST) Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of hendrik@topoi.pooq.com) identity=pra; client-ip=69.165.131.134; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="hendrik@topoi.pooq.com"; x-sender="hendrik@topoi.pooq.com"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of hendrik@topoi.pooq.com) identity=mailfrom; client-ip=69.165.131.134; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="hendrik@topoi.pooq.com"; x-sender="hendrik@topoi.pooq.com"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@april.topoi.pooq.com) identity=helo; client-ip=69.165.131.134; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="hendrik@topoi.pooq.com"; x-sender="postmaster@april.topoi.pooq.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0C5CQCXQsFV/4aDpUVbg29EASSseZIIhXkCggkBAQEBAQGBC4QkAQEEOjQbCxgJBCEPBQ0LGSsSiAcDEg3FAAMKhS0BAQEHAgEfi0+CT4JAF4MBgRQFhWYMjwiEfYVogWkCT4E+kBiHMCaEGSIxgkwBAQE X-IPAS-Result: A0C5CQCXQsFV/4aDpUVbg29EASSseZIIhXkCggkBAQEBAQGBC4QkAQEEOjQbCxgJBCEPBQ0LGSsSiAcDEg3FAAMKhS0BAQEHAgEfi0+CT4JAF4MBgRQFhWYMjwiEfYVogWkCT4E+kBiHMCaEGSIxgkwBAQE X-IronPort-AV: E=Sophos;i="5.15,612,1432591200"; d="scan'208";a="142036449" Received: from topoi.pooq.com (HELO april.topoi.pooq.com) ([69.165.131.134]) by mail3-smtp-sop.national.inria.fr with ESMTP; 05 Aug 2015 00:55:56 +0200 Received: by april.topoi.pooq.com (Postfix, from userid 1001) id 065981A02C0; Tue, 4 Aug 2015 18:55:53 -0400 (EDT) Date: Tue, 4 Aug 2015 18:55:53 -0400 From: Hendrik Boom To: caml-list@inria.fr Message-ID: <20150804225553.GA12628@topoi.pooq.com> References: <55BF75F6.1040006@bioquant.uni-heidelberg.de> <8E1A640CE3374EB492981ADB0A2DA5C6@erratique.ch> <20150804092633.GC5689@frosties> <5C2023F4AF0549F58F3E4C9A6F8ABE84@erratique.ch> <55C0D956.8060207@zoho.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Subject: Re: [Caml-list] destructive local opens On Tue, Aug 04, 2015 at 10:22:44PM +0000, vrotaru.md@gmail.com wrote: > 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. Reminds me of quoteing and unquoting in Lisps. Also generates gibberish very quickly. Not that it isn't very useful, though. -- hendrik > > -- > 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