From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 4B3A17F616 for ; Thu, 23 Feb 2017 17:45:24 +0100 (CET) Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=gabriel.scherer@gmail.com; spf=Pass smtp.mailfrom=gabriel.scherer@gmail.com; spf=None smtp.helo=postmaster@mail-qk0-f169.google.com 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.220.169; 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.220.169 as permitted sender) identity=mailfrom; client-ip=209.85.220.169; 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-qk0-f169.google.com) identity=helo; client-ip=209.85.220.169; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="gabriel.scherer@gmail.com"; x-sender="postmaster@mail-qk0-f169.google.com"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3AsfiTcxL8kCkpJli+m9mcpTZWNBhigK39O0sv0rFi?= =?us-ascii?q?tYgeI/3xwZ3uMQTl6Ol3ixeRBMOAuq8C0rqd4viocFdDyK7JiGoFfp1IWk1Nou?= =?us-ascii?q?QttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXdrXKo8DEdBAj0OxZr?= =?us-ascii?q?KeTpAI7SiNm82/yv95HJbQhFgDqwbalvIBi1ogncstUaipZ+J6gszRfEvmFGcP?= =?us-ascii?q?lMy2NyIlKTkRf85sOu85Nm7i9dpfEv+dNeXKvjZ6g3QqBWAzogM2Au+c3krgLD?= =?us-ascii?q?QheV5nsdSWoZjBxFCBXY4R7gX5fxtiz6tvdh2CSfIMb7Q6w4VSik4qx2UxLjlj?= =?us-ascii?q?sJOCAl/2HWksxwjbxUoBS9pxxk3oXYZJiZOOdicq/BeN8XQ21OUNtMVyxaGoOz?= =?us-ascii?q?cZcAD/YPM+ZfqonyvVoOrR2jDgWoC+7izjpEi3nr1qM4zushCxnL0w4uH9wOvn?= =?us-ascii?q?rar8j7OrkOXu2u0KnE0S/OY+9K1Tvh6oXFdA0qr/GWXbJ3dMrc0UghGBnegVWK?= =?us-ascii?q?qIzqITeV3fkQvWeH7+pvS/ivhHA9qwpspTWvyd0jhZLThoIU1F/E8T91wJ0pKt?= =?us-ascii?q?24VkF7e8CrEIFLuiGVMot5WMIiQ2VytCkmzb0GvIe2cS4Xw5opwB7fbuaIc4mO?= =?us-ascii?q?4h/7VeaRJy14hHN/d76liRay61Csy+3mWcm011ZKqTBJncXLtnAI0RHY98uJSu?= =?us-ascii?q?Nl80u/xTqC0xrf5+JELEwui6bXNYItzqQtmpcStUnOGDL9ll/sg6+MbEok//Cl?= =?us-ascii?q?6+T5bbXioZ+RL4p0hRv/MqQqg8C/GOc4PhQXU2iV5Oix1bnu8Vf2QLVNif02na?= =?us-ascii?q?3Zv47AKcsHoa65BhdZ0ocl6xmhEzeryMoUkWUDIV5fex+Kj5LlN0/QLPzkF/uz?= =?us-ascii?q?nlWhnTNzy/DDJLLhA5HNLnbZkLfmeLZw80FcxxAowtBF5pJbFLUBLOjoWkDttN?= =?us-ascii?q?zXEAU5PBKuw+v8B9V905kRWWOLAqODLKzStlqI6vo1I+aQfI8VpCr9K/896vHy?= =?us-ascii?q?l3A5nFsdcbCt3ZsWc3C4Au9rI16ZYHrpmtcOC30Gvgs4TOzwiV2NSyRfZ3ioX/?= =?us-ascii?q?F02jZuKo+8AILSDrGkhLiGxG/vD5RSYmdeIl+JGHbsMY6DXqFfRjiVJ5pOmzYe?= =?us-ascii?q?VLWlA7Qq1Ry0uRWyn7VuJPDV9ylerpnj2cJ4/cXckBgz8Xp/CMHLgDLFdH19gm?= =?us-ascii?q?5dH2x+56t4u0Eojwra3A=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0DcAABbEa9YhqncVdFDGhsBAQEDAQEBC?= =?us-ascii?q?QEBARcBAQQBAQoBAYNHP3gRB4NUm2OCOpJ6gg0qhXgCgxwHQRYBAQEBAQEBAQE?= =?us-ascii?q?BARIBAQEICwsKHS+CMyKCHAEFIx0BGxILAQMMBgULDQICCR0CAiEBAREBBQEKE?= =?us-ascii?q?gYTEod2A4FRAQMVDi2hQT+MA4IEBQEcgwkFg1wKGScDClWDKQEBAQEBAQEDAQE?= =?us-ascii?q?BAQEBGgIGEnmFQYRvglFGhEOCXwWHOAyBX4cpS4pDOoIChHKDIoNuhCCCTo5Di?= =?us-ascii?q?kSHHRQegRUmCYEoIRQfUxeEJSCCCyI1AYtFAQEB?= X-IPAS-Result: =?us-ascii?q?A0DcAABbEa9YhqncVdFDGhsBAQEDAQEBCQEBARcBAQQBAQo?= =?us-ascii?q?BAYNHP3gRB4NUm2OCOpJ6gg0qhXgCgxwHQRYBAQEBAQEBAQEBARIBAQEICwsKH?= =?us-ascii?q?S+CMyKCHAEFIx0BGxILAQMMBgULDQICCR0CAiEBAREBBQEKEgYTEod2A4FRAQM?= =?us-ascii?q?VDi2hQT+MA4IEBQEcgwkFg1wKGScDClWDKQEBAQEBAQEDAQEBAQEBGgIGEnmFQ?= =?us-ascii?q?YRvglFGhEOCXwWHOAyBX4cpS4pDOoIChHKDIoNuhCCCTo5DikSHHRQegRUmCYE?= =?us-ascii?q?oIRQfUxeEJSCCCyI1AYtFAQEB?= X-IronPort-AV: E=Sophos;i="5.35,198,1484002800"; d="scan'208";a="214510908" Received: from mail-qk0-f169.google.com ([209.85.220.169]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 23 Feb 2017 17:45:23 +0100 Received: by mail-qk0-f169.google.com with SMTP id s186so36766970qkb.1 for ; Thu, 23 Feb 2017 08:45:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=IaSfZhGICyvWdZge7LDK5A4c4juxshoarb4MWBpRtsg=; b=MH+9x4B1tXLcRQLx57fepDdQbgdKPLwnsC0IdpmbK2cA7us+UZws3Eo7+rhQlXd/gy OQFXr0QaK0ZEGDAXKRv6ryXiXaPNKtcuNJmmJkDt4pv1y9jepyYq53Q6JTGuvzxTyknf QL5Rd6mXzX0sTU81fcEYqpdOiYlmTVepLchd5BoNazrUX3vn6DLFubJMbOPj2XHC3cj+ Yq04PGQ+BwO/sLHi5BINu3Kyg3HnBd9Ei1cm4vp8HCMZvtXEqW0excQvT2VUPo1sFa3O ZWsclbdf/fSF8QOof2gpMv57/eJkB5YvexLMxHW76o8RRNGaiyJcO5bY1TLqstQzZtzb TN+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=IaSfZhGICyvWdZge7LDK5A4c4juxshoarb4MWBpRtsg=; b=TesC9TmABHm0vVcOs47K/6PSURGq2A9R/ygb4ERbsmQlgGbZ5GNLoQNtt4HU0C6PLg kxxanHUJ/KygttVfIx6Nzr/7qnzm5+mIq+e9jluq0PjE+HfrWv4STk6vjGBzw6T/SA2q +MTpfy1LXstQRzGzHRZ87k0Pt6e8GojZE2GC4fgWqnzlGFuf6TXD4G+o5qXAg7K+b1Wn EILOouSZPvcYPlXM0yTKAo78KcDwPlI4FfrlAkQikubOCQkC8R3Lzj/nWsO9TIJJHgfa KgAp29oLeF0mOicaGQTJ+t3RwUmhLYKcD6/dtAcc6jMMMmxJ2GZA/U4aCmKlV1He8H4n VUZg== X-Gm-Message-State: AMke39lJwLMvtCNpYgg6tNmpkoGtXxL9qNj6ujcXX3rcc4YOPIwEOuU8yb2H4u+MAMTzrK+Df78ZMsN2w84A5g== X-Received: by 10.233.239.82 with SMTP id d79mr36205594qkg.13.1487868322073; Thu, 23 Feb 2017 08:45:22 -0800 (PST) MIME-Version: 1.0 Received: by 10.12.182.91 with HTTP; Thu, 23 Feb 2017 08:44:41 -0800 (PST) In-Reply-To: References: From: Gabriel Scherer Date: Thu, 23 Feb 2017 11:44:41 -0500 Message-ID: To: Jeremy Yallop Cc: Caml List Content-Type: text/plain; charset=UTF-8 Subject: Re: [Caml-list] Duplicate value specifications Historically my understanding is that the signature language mimicks the structure language in this respect, and that while shadowing of type declarations is rejected for soundness, shadowing of value definitions (as structure items) are accepted as they are a somewhat common pattern. We discussed this indirectly in PR#5878 ( https://caml.inria.fr/mantis/view.php?id=5878 ). My personal belief about "ideal OCaml" is that repeated declarations and definitions of the same identifier (either at the type or value level) should be allowed as long as they are "unifiable" (have an upper bound in the definedness order), and that the effect should be identical to a single declaration of the unified result (the upper bound). In this world, you example is rejected because the two definitions are incompatible. (This definedness-order idea allows repeating the same type definition twice, or giving once an abstract declaration and then a concrete definition, or specifying the variance separately from the rest of the declaration, or using "val x : ..." as an annotation followed by a "let x = ..." definitions.) On Thu, Feb 23, 2017 at 10:11 AM, Jeremy Yallop wrote: > Are duplicate value specifications a supported feature of signatures? > Will the following program, which is currently accepted, continue to > be accepted in future versions of OCaml? > > module type S = sig > val x : int > val x : bool > end > > This is an artificial example, of course, but duplication can > sometimes arise naturally through signature inclusion. > > -- > 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