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 A3D5B7EEBF for ; Thu, 6 Aug 2015 15:23:22 +0200 (CEST) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of moreno.pedro@epitech.eu) identity=pra; client-ip=157.55.234.104; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="moreno.pedro@epitech.eu"; x-sender="moreno.pedro@epitech.eu"; x-conformance=sidf_compatible Received-SPF: SoftFail (mail2-smtp-roc.national.inria.fr: domain of moreno.pedro@epitech.eu is inclined to not designate 157.55.234.104 as permitted sender) identity=mailfrom; client-ip=157.55.234.104; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="moreno.pedro@epitech.eu"; x-sender="moreno.pedro@epitech.eu"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of postmaster@emea01-db3-obe.outbound.protection.outlook.com designates 157.55.234.104 as permitted sender) identity=helo; client-ip=157.55.234.104; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="moreno.pedro@epitech.eu"; x-sender="postmaster@emea01-db3-obe.outbound.protection.outlook.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0AxAQBZX8NVnGjqN51bgk6BIWkGvxKGAQKCEwEBAQEBARIBAQEBAQYNCQkhLoQkAQEEEgFmEAIBDB0lDyMlAgQBDQUbB4gMBKh+AYElARxhBSgCimcBAYdHj2sBAQEBAQEEAQEBAQEBARuLT4UJBwmEIwWFaQmHGId3h2OEdI4Li2QXhAxvAYFHgQQBAQE X-IPAS-Result: A0AxAQBZX8NVnGjqN51bgk6BIWkGvxKGAQKCEwEBAQEBARIBAQEBAQYNCQkhLoQkAQEEEgFmEAIBDB0lDyMlAgQBDQUbB4gMBKh+AYElARxhBSgCimcBAYdHj2sBAQEBAQEEAQEBAQEBARuLT4UJBwmEIwWFaQmHGId3h2OEdI4Li2QXhAxvAYFHgQQBAQE X-IronPort-AV: E=Sophos;i="5.15,622,1432591200"; d="scan'208,217";a="172859029" Received: from mail-db3on0104.outbound.protection.outlook.com (HELO emea01-db3-obe.outbound.protection.outlook.com) ([157.55.234.104]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES256-SHA; 06 Aug 2015 15:23:21 +0200 Received: from AM2PR02MB0657.eurprd02.prod.outlook.com (10.161.233.143) by AM2PR02MB0657.eurprd02.prod.outlook.com (10.161.233.143) with Microsoft SMTP Server (TLS) id 15.1.225.19; Thu, 6 Aug 2015 13:23:19 +0000 Received: from AM2PR02MB0657.eurprd02.prod.outlook.com ([10.161.233.143]) by AM2PR02MB0657.eurprd02.prod.outlook.com ([10.161.233.143]) with mapi id 15.01.0225.018; Thu, 6 Aug 2015 13:23:19 +0000 From: moreno pedro To: octachron , =?iso-8859-1?Q?Daniel_B=FCnzli?= CC: Nils Becker , Caml-list Thread-Topic: RE : Re: [Caml-list] destructive local opens Thread-Index: AQHQzfGxvnyjDUc900OGdmcTJth85p36SU0AgAAAywCAAApWVYAAA4SAgAAJI4CAAAOMAIAADg0AgAAKsQCAABMggIAEabyK Date: Thu, 6 Aug 2015 13:23:19 +0000 Message-ID: References: <55BF6F1C.3050705@bioquant.uni-heidelberg.de> <55BF75F6.1040006@bioquant.uni-heidelberg.de> <8E1A640CE3374EB492981ADB0A2DA5C6@erratique.ch> <55BF8451.3060408@polychoron.fr> <55BF9314.70904@polychoron.fr> <2C582E7B7CD34029998882AA66299107@erratique.ch>,<55BFAC17.3050406@polychoron.fr> In-Reply-To: <55BFAC17.3050406@polychoron.fr> Reply-To: moreno pedro Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=moreno.pedro@epitech.eu; x-originating-ip: [92.152.87.129] x-microsoft-exchange-diagnostics: 1;AM2PR02MB0657;5:2WCGQVl3gwbOXG8rK4L4f4L244dsRCJM2MnPL/4zI1pqlavfDwv2LOCRdfjNb9dELqEi+G21pnYiM6XkEX3xgWcKFVtik7oqz2A1yVQHFOWIGLhmndVUc0PlbNfnXzKtgP+cq6IPE8NgL1/NffJ7vQ==;24:9dR4ThQbekFQKFo1t80PB0P81nW5oDW5itpov3/nRePxsycCmbWRoSw8i3GMrbLQoaj9QMQY4rYnyr4+Gf8hg5BhZpgONgftuvyzs8aVGRM=;20:yTLN3Gn15OTAl/CnrleUbLZDYq0m5ztB2tz2ACzfumVW7K0GrGm3YgVJ3wUpiW7IaxtSXKwEUtlecn3zZGt/Qw== x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AM2PR02MB0657; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(601004)(5005006)(3002001);SRVR:AM2PR02MB0657;BCL:0;PCL:0;RULEID:;SRVR:AM2PR02MB0657; x-forefront-prvs: 06607E485E x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(479174004)(189002)(199003)(95246002)(43066003)(106116001)(105586002)(19580395003)(106356001)(19580405001)(4001540100001)(10400500002)(5002640100001)(5001860100001)(97736004)(5001770100001)(5001830100001)(81156007)(87936001)(189998001)(5001960100002)(93886004)(86152002)(77096005)(122556002)(74482002)(68736005)(46102003)(86362001)(76176999)(54356999)(53806999)(63666004)(33646002)(62966003)(102836002)(77156002)(2950100001)(2656002)(2900100001)(16236675004)(66066001)(229853001)(64706001)(40100003)(101416001)(50986999);DIR:OUT;SFP:1102;SCL:1;SRVR:AM2PR02MB0657;H:AM2PR02MB0657.eurprd02.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; spamdiagnosticoutput: 1:23 spamdiagnosticmetadata: NSPM Content-Type: multipart/alternative; boundary="_000_svqwb1x90x9h3rn8kdu8cbl51438823217651emailandroidcom_" MIME-Version: 1.0 X-OriginatorOrg: epitech.eu X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Aug 2015 13:23:19.1189 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 901cb4ca-b862-4029-9306-e5cd0f6d9f86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM2PR02MB0657 Subject: RE : [Caml-list] destructive local opens --_000_svqwb1x90x9h3rn8kdu8cbl51438823217651emailandroidcom_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Envoy=E9 depuis un mobile Samsung -------- Message d'origine -------- De : octachron Date : 03/08/2015 19:00 (GMT+00:00) A : Daniel B=FCnzli Cc : Nils Becker ,Caml-list Objet : Re: [Caml-list] destructive local opens Le 08/03/15 18:51, Daniel B=FCnzli a =E9crit : 1. Given a M.( * ) without warning the * may be the one of M or the one in = scope. Ambiguous, can't be resolved locally. 2. Given a M.( id ) without warning, if [id] is in scope I *know* this [id]= is being used. If it's not I know M.id is being used. No ambiguity, can be= resolved locally. If you allow each identifier in a module to sport an @shadow annotation you= lose 2. which I find a very valuable property. Without it, given that ide= ntifiers are much more widespread than operators, we get a much more ambigu= ous language. It is a very valid point. However, I would argue that 1. and 2. are transfo= rmed to 1. Given a M.( [edsl_keyword] ) is the one of M. If I know the EDSL keyword= s, there is no ambiguity. 2. Given a M.( non_keyword ) without warning, if [non_keyword] is in scope = then [non_keyword] is being used. Otherwise, [M.non_keyword] is being used. No global ambiguity. This approach, contrarily to yours, has a major disadvantage: its relies on= a tacit agreement on the EDSL keywords. At the same time, it allows EDSL authors to tailor the warni= ngs to the EDSL context. If the keyword list is small/sensible enough, it might result in b= etter warnings. But yes, implicit agreements are clearly more brittle than broad rules. A (= over?)complicated solution might be to add module alias annotation in order to modify shadow = annotations locally (e.g. " module N =3D M [@@only_shadow "+"] "). Regards, octachron. --_000_svqwb1x90x9h3rn8kdu8cbl51438823217651emailandroidcom_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable



Envoy=E9 depuis un mobile Samsu= ng



-------- Message d'origine --------
De : octachron <octa@polychoron.fr>
Date : 03/08/2015 19:00 (GMT+00:00)
A : Daniel B=FCnzli <daniel.buenzli@erratique.ch>
Cc : Nils Becker <nils.becker@bioquant.uni-heidelberg.de>,Caml-list &= lt;caml-list@inria.fr>
Objet : Re: [Caml-list] destructive local opens


Le 08/03/15 18:51, Daniel B=FCnzli a =E9crit=  :
1. Given a M.( * ) without warning the * may be the one of M or the on=
e in scope. Ambiguous, can't be resolved locally.

2. Given a M.( id ) without warning, if [id] is in scope I *know* this [id] is being used. If it's not I know M.id is being u=
sed. No ambiguity, can be resolved locally.

If you allow each identifier in a module to sport an @shadow annotation you=
 lose 2. which I find a  very valuable property. Without it, given that ide=
ntifiers are much more widespread than operators, we get a much more ambigu=
ous language.
It is a very valid point. However, I would argue that 1. and 2. are transfo= rmed to

1. Given a M.( [edsl_keyword] ) is the one of M. If I know the EDSL keyword= s, there is no ambiguity.

2. Given a M.( non_keyword ) without warning, if [non_keyword] is in scope = then [non_keyword] is
being used. Otherwise, [M.non_keyword] is being used. No global ambiguity.<= br>
This approach, contrarily to yours, has a major disadvantage: its relies on= a tacit agreement on the
EDSL keywords. At the same time, it allows EDSL authors to tailor the warni= ngs to the EDSL
context. If the keyword list is small/sensible enough, it might result in b= etter warnings.

But yes, implicit agreements are clearly more brittle than broad rules. A (= over?)complicated
solution might be to add module alias annotation in order to modify shadow = annotations locally
(e.g. " module N =3D M [@@only_shadow "+"] ").

Regards,
octachron.

--_000_svqwb1x90x9h3rn8kdu8cbl51438823217651emailandroidcom_--