Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) by h1439878.stratoserver.net (8.14.2/8.14.2/Debian-2build1) with ESMTP id s6C25GOO009662 for ; Sat, 12 Jul 2014 04:05:17 +0200 Received: from relay.uni-heidelberg.de ([129.206.100.212]) by mx-ha.gmx.net (mxgmx001) with ESMTPS (Nemesis) id 0LpKw1-1WcCUV1Zjh-00fDlS for ; Sat, 12 Jul 2014 04:05:10 +0200 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [129.206.100.94]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id s6C22edN017993 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 12 Jul 2014 04:02:41 +0200 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [127.0.0.1]) by listserv.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id s6BM15RA022487; Sat, 12 Jul 2014 04:02:39 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 11125388 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Sat, 12 Jul 2014 04:02:39 +0200 Received: from relay2.uni-heidelberg.de (relay2.uni-heidelberg.de [129.206.210.211]) by listserv.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id s6C22dZf005290 for ; Sat, 12 Jul 2014 04:02:39 +0200 Received: from smtp3.clear.net.nz (smtp3.clear.net.nz [203.97.33.64]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id s6C22QpF023769 for ; Sat, 12 Jul 2014 04:02:30 +0200 Received: from mxin1-orange.clear.net.nz (lb2-srcnat.clear.net.nz [203.97.32.237]) by smtp3.clear.net.nz (CLEAR Net Mail) with ESMTP id <0N8K008N6TO04L30@smtp3.clear.net.nz> for LATEX-L@listserv.uni-heidelberg.de; Sat, 12 Jul 2014 14:02:26 +1200 (NZST) Received: from 121-74-37-224.telstraclear.net (HELO [127.0.0.1]) ([121.74.37.224]) by smtpin1.clear.net.nz with ESMTP; Sat, 12 Jul 2014 14:02:25 +1200 MIME-version: 1.0 Content-type: text/plain; charset=UTF-8; format=flowed Content-transfer-encoding: 7bit X-Antivirus: avast! (VPS 140711-1, 12/07/2014), Outbound message X-Antivirus-Status: Clean References: <539432A6.7030205@clear.net.nz> <5395A7A3.7040106@residenset.net> <5395AA02.8040704@morningstar2.co.uk> <53BF8686.2060201@morningstar2.co.uk> <53C0131F.2030404@morningstar2.co.uk> User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 Message-ID: <53C09731.6080004@clear.net.nz> Date: Sat, 12 Jul 2014 14:02:25 +1200 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: aparsloe Subject: Re: Juxtaposition in l3fp To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: <53C0131F.2030404@morningstar2.co.uk> Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: Envelope-To: X-GMX-Antispam: 0 (Mail was not recognized as spam); Detail=V3; X-GMX-Antivirus: 0 (no virus found) X-UI-Filterresults: notjunk:1;V01:K0:t/Fka0+KETc=:IJsvlT2fG+/wCJWYNYRsCH6jrO bVUIJH9K0hfsO0DGS2RUrSSkgj6vGR461i1iOvMNxwa2ZavBrkc6vES5/zN/wuorrPqq04gpX 5nNa2t74/kpXwQcFxxnWZwA64+4epZ8DOpJCiGQOMA8LveeGf32LoPWzxBdRQuQ+48COoG7Le hHkVgqQzTpErE37mhlM0UFQ6++C9WUUL3u91wZGC+8leXDsQIHKO9dx1B5IZPVvkotYa7pHF4 Ic/xNlB/PWllnxOgA2QA5nVsHjCAYza+0fpuO01hQoSfjsqCTlwgN18/L6K5av0f5xrNjT1mk G++28bORruwVuxP5PR99Hit13aznpc07M7n3BOPH9WDMSRc+ymvVsCnWzCRLwpUjpcaiV5SqZ QD0Yz5lZpON90pRvING67qPKmK/208KikvSKwn3eDNHXaJHvQ9oAiTYxwctZ67ofjGTKJ+RiM icCwwrBJoTR5BU4i8CmIKPYvB7LMbDEVUTNjCWCPhPQye31Y66UseP/zYysbQTgL0cyFzMepH RIUdev4AF3opTltU7U2Yho42XWfpPvj8jYzbiVe8VmhO24VsNIKEv6c5LF37j7QK8wWtJClTo 3vC4I47EjXkxsJ01B2r9UNO8mD45Wt3bz+rcimyEbye9fSCtG3FsM/kw+RDcN8sk6zvMpIRJE KFxXPIDolzDTQBMzDqTg8EsbPZ9qBeRGGNSGH+2ekVpyS6LxCttDpx8n/2xOaS2uiXPTwWgNj jQbX1CosGakVZsLNNzrcxNX1d5wzSYy/j7IzyVBOl/mF+ctvTtF5ygg9X8yhUIZACCLJXqG+w rxb6t0kNRyZy09HsQF/iGfe/cOXYEKv+7Shmwr4dvrm0QOh0Y7rATHCusTdeUzW0UUFBsmzRq x+C40klvYuEvmk2FviPHJbM591h9nKuorX1GwQFh6oA8DAKWq9VFsvaubk9f1LcruSxzTkMIw LFmyTu2spAyFCLY2kFsm8i11fhT6OVZk5h4s9ZyQzJBXsetxmZ0AC2IikMLqFwjBTv9dn2V7F pA4IrY7dE0AzvUp0vHC/ffKUwtcbRKa6wsmG98c3MYq3xKCci7O7X/WYTK3J5APm50cPUupba 3eFF3Q99HIKml0XpXQREWMyTkRbhe4mF9u1RjxEpAmXV6qPQ8a6ZqZScx9P5ZuycHsYD5hNbO J6W0Yc1N2PGna/11ddBG3l+hKFrgyDevv7Of0nrHaTTqdQfbTGsXsVsVQbScxfshH4CiRMlT5 cgorrz27iZbHsPr95QRJSPKZA3wxZQbjW8tMZh4qz9FZBxSEXLYOX/rJR9Kb7+WYz/Z18QE3U XyrZOaDUqONU6t60G/pdkOsabqSt7iYu9N5WN+we/oYLOHPOFyFfP8kIC2E8DKyVMXp72OswI Ab6DxXPb1agc0CnQvVKF/jK5X0vDXa2uhHnR1c/kO02xscLktWxTYHSS6h5MeRZietlq3UahL irEqUz1v4YUhnsKzuZR8HjGH+nhgG5fH8ibuIW+HAxQr4+7zJNbRHRC10C5s+h8jzGcZMolA= = X-UI-Loop:V01:MKq6Ne9VSDk=:vVsKa2p61jDU6mzJkV1kGQ8k41PV4ZV22zFKUQKz1wA= Status: R X-Status: X-Keywords: X-UID: 7547 On 12/07/2014 4:38 a.m., Joseph Wright wrote: > On 11/07/2014 17:23, Bruno Le Floch wrote: >> On 7/11/14, Joseph Wright wrote: >>> On 11/07/2014 00:20, Bruno Le Floch wrote: >>>> should change the precedence of juxtaposition-as-multiplication from >>>> what it currently is (the tightest) to being the same as >>>> multiplication. In other words, juxtaposition would behave exactly >>>> identically to adding an asterisk. >>> To be clear, continue to allow >>> >>> 2x + 1 >>> 2pt + 3cm >>> >>> but with >>> >>> 2x^2 + 2 = 2*(x^2) + 2 >>> >>> so for your example 25pc^2 requiring braces (0.25pc)^2? >>> >>>> Would that make sense? Am I missing something crucial (probably... I >>>> didn't realize when allowing juxtaposition what a mess I was >>>> creating)? >>> Seems OK to me (if I've understood correctly). >> Yes you did. Cf my other email: how should the change happen? > As I said there, with a 'breaking' change (which sometimes simply can't > be avoided) all we can do is warn that there is one. Write the code and > test properly and I'll worry about the release announcement :-) > -- > Joseph Wright I'm swimming away out of my depth here, but I wonder if you need to break anything? My original email on juxtaposition was prompted when I "stubbed my toe" on a case where the rigorous application of juxtaposition and its precedence level led to a very unintuitive outcome. Once I had re-established equilibrium, I thought to myself: OK, that is how l3fp does things. Juxtaposition at the highest precedence level is applied rigorously (with perhaps one exception). I can adjust my code. The user doesn't need to know about what is happening in l3fp. It is after all part of l3kernel, part of the engine. I concluded that email by wondering if it might be possible to graft a more intuitive front end onto l3fp -- call it l3calc, say. By way of analogy, there is l3keys in l3kernel and l3keys2e in l3packages. Have you considered such an option? l3calc would spend most of its time putting parentheses around terms and asterisks between them. But nothing would be broken, as a change in precedence level in l3fp will entail. The "hairy-chested" could continue to use l3fp; less macho types might prefer the more intuitive interface of l3calc. Andrew