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 716EC7EF37 for ; Wed, 5 Aug 2015 06:53:09 +0200 (CEST) Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of gabriel.scherer@gmail.com) identity=pra; client-ip=209.85.223.181; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="gabriel.scherer@gmail.com"; x-sender="gabriel.scherer@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of gabriel.scherer@gmail.com designates 209.85.223.181 as permitted sender) identity=mailfrom; client-ip=209.85.223.181; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="gabriel.scherer@gmail.com"; x-sender="gabriel.scherer@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-io0-f181.google.com) identity=helo; client-ip=209.85.223.181; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="gabriel.scherer@gmail.com"; x-sender="postmaster@mail-io0-f181.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0AkAQAKlsFVlLXfVdFbgzo1aQasf5IOhXkCgTwHTAEBAQEBARIBAQEBBwsLCR8whCQBAQQSER0BGxILAQMMBgULDQICCR0CAiEBAREBBQEKEgYTEhCHdgEDEg2mBIEuPjGLP4FsgnmLUAoZJwMKV4RWAQEBAQEBBAEBAQEBFwEFDoEUii2CT4I5B4JpgUMFhWcMjwqEfoVrgWuCDZAihWQSI4EXF4QOPDGCTAEBAQ X-IPAS-Result: A0AkAQAKlsFVlLXfVdFbgzo1aQasf5IOhXkCgTwHTAEBAQEBARIBAQEBBwsLCR8whCQBAQQSER0BGxILAQMMBgULDQICCR0CAiEBAREBBQEKEgYTEhCHdgEDEg2mBIEuPjGLP4FsgnmLUAoZJwMKV4RWAQEBAQEBBAEBAQEBFwEFDoEUii2CT4I5B4JpgUMFhWcMjwqEfoVrgWuCDZAihWQSI4EXF4QOPDGCTAEBAQ X-IronPort-AV: E=Sophos;i="5.15,614,1432591200"; d="scan'208";a="142050318" Received: from mail-io0-f181.google.com ([209.85.223.181]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 05 Aug 2015 06:53:08 +0200 Received: by ioii16 with SMTP id i16so38419679ioi.0 for ; Tue, 04 Aug 2015 21:53:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=7gXSBeCK6YWMP3yrWXSVNlGwwflQpxvqVJl7E+eiikc=; b=kKNpz2ynfMCazVjS3gDG3DXC6uoVib6+O1b+G2O10vuwRoAg0aIgVpwZPPsdVdcCTy 0deEDAajt6EMJDhdEKBR+IXdF/JroDPosJwph25moVY9deJeJbKT/8zGM61yDkUlxPSn Tk4toc3xBjy0BD3uc3CCJYvoAxen4yr9sL2piTrjcnWb2p7YapwLXKm9LEaXraZmeb4X x4miFtjZWMjJZYcKiWytWJWjCRbhMpZnXFDQy7Pu6C9YtMKrih0pzqlLU4at9amD59qY 0NUuQwDpD8VS4XyDE7pcZZZbdrYxDxHuvBPGrs2ynEmTp0W74VYtSMuDHmHfQI22f6yz MPKw== X-Received: by 10.107.19.32 with SMTP id b32mr7688907ioj.144.1438750386962; Tue, 04 Aug 2015 21:53:06 -0700 (PDT) MIME-Version: 1.0 Received: by 10.79.68.132 with HTTP; Tue, 4 Aug 2015 21:52:27 -0700 (PDT) In-Reply-To: <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> <20150804225553.GA12628@topoi.pooq.com> From: Gabriel Scherer Date: Wed, 5 Aug 2015 06:52:27 +0200 Message-ID: To: Hendrik Boom Cc: caml users Content-Type: text/plain; charset=UTF-8 Subject: Re: [Caml-list] destructive local opens It is remarkable that programming languages have avoided introducing explicit weakening (the popping of a symbol out of scope) for now, and I think it is a property that should be preserved. We're not yet ready to go there. On Wed, Aug 5, 2015 at 12:55 AM, Hendrik Boom wrote: > 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 > > -- > 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