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 BA21C7EEBF for ; Tue, 4 Aug 2015 17:26:05 +0200 (CEST) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of drupyog+caml@zoho.com) identity=pra; client-ip=74.201.84.153; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="drupyog+caml@zoho.com"; x-sender="drupyog+caml@zoho.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of drupyog+caml@zoho.com designates 74.201.84.153 as permitted sender) identity=mailfrom; client-ip=74.201.84.153; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="drupyog+caml@zoho.com"; x-sender="drupyog+caml@zoho.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@sender153-mail.zoho.com) identity=helo; client-ip=74.201.84.153; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="drupyog+caml@zoho.com"; x-sender="postmaster@sender153-mail.zoho.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0APAQAa2cBVm5lUyUpbg25pvneFPToCgTRMAQEBAQEBEgEBAQEBCAkLCSEuhCQBAQQjDwEFCwE0AQIOCxgCAgUWCwICCQMCAQIBDzYGAQwGAgEBFod+AQMBBA0NtCFwhGsCi0QiKA0YhRUBAQEBAQEBAwEBAQEBAQEBEweBIootgk+COQeCaYFDAZR+gUCDPYVogWuCe4VgiUqHMIQlbQWCRwEBAQ X-IPAS-Result: A0APAQAa2cBVm5lUyUpbg25pvneFPToCgTRMAQEBAQEBEgEBAQEBCAkLCSEuhCQBAQQjDwEFCwE0AQIOCxgCAgUWCwICCQMCAQIBDzYGAQwGAgEBFod+AQMBBA0NtCFwhGsCi0QiKA0YhRUBAQEBAQEBAwEBAQEBAQEBEweBIootgk+COQeCaYFDAZR+gUCDPYVogWuCe4VgiUqHMIQlbQWCRwEBAQ X-IronPort-AV: E=Sophos;i="5.15,609,1432591200"; d="scan'208";a="172650207" Received: from sender153-mail.zoho.com ([74.201.84.153]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES128-SHA; 04 Aug 2015 17:26:03 +0200 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=zapps768; d=zoho.com; h=subject:to:references:cc:from:message-id:date:user-agent:mime-version:in-reply-to:content-type; b=TQ/WAthJzMlkQhUyCj//gMaQ6SA5tJvn51C2X8UORWk1j+hNwnyOT875G/NS6w2pc+IycpgBWu4d 7ctrwX2dVU8P1y15M1wurNArtbovhLiGYddoxXv3bzKmd2LAtBZC Received: from [172.17.153.29] (global-1-26.nat.csx.cam.ac.uk [131.111.184.26]) by mx.zohomail.com with SMTPS id 1438701944824664.7207715785298; Tue, 4 Aug 2015 08:25:44 -0700 (PDT) To: Jeremy Yallop , David Allsopp References: <55BF6F1C.3050705@bioquant.uni-heidelberg.de> <55BF75F6.1040006@bioquant.uni-heidelberg.de> <8E1A640CE3374EB492981ADB0A2DA5C6@erratique.ch> <20150804092633.GC5689@frosties> <5C2023F4AF0549F58F3E4C9A6F8ABE84@erratique.ch> Cc: "vrotaru.md@gmail.com" , =?UTF-8?Q?Daniel_B=c3=bcnzli?= , Goswin von Brederlow , "caml-list@inria.fr" From: Drup Message-ID: <55C0D956.8060207@zoho.com> Date: Tue, 4 Aug 2015 17:25:10 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [Caml-list] destructive local opens Le 04/08/2015 15:17, Jeremy Yallop a écrit : > On 4 August 2015 at 14:12, David Allsopp wrote: >> vrotaru.md@gmail.com wrote: >> Surely at this level of ambiguity-disliking, what you really need is a way of module-qualifying an infix? i.e. some alternate notation which allows you to write: >> >> 3 * v vx vy > This would certainly be useful. Haskell supports the notation 'M.op', as in > > v Vec.* vx > > and I expect the same would work in OCaml. > I took a shot at that, I can't manage to make it work in yacc/menhir. see https://github.com/Drup/ocaml/commit/76c5a508ba1c5cff06c137c7fb67754b4e43576c The difficult case is f 1 M.+ 2 Looking at M, you can't decide if it's going to be an ident M.foo or an operator M.+ I can't manage to disambiguate that and I'm afraid it's not LR(1).