Received: from mout.gmx.net (mout.gmx.net [212.227.17.20]) by h1439878.stratoserver.net (8.14.2/8.14.2/Debian-2build1) with ESMTP id s6BGf5Cs005906 for ; Fri, 11 Jul 2014 18:41:06 +0200 Received: from relay.uni-heidelberg.de ([129.206.100.212]) by mx-ha.gmx.net (mxgmx111) with ESMTPS (Nemesis) id 0LhjFV-1Wk4Vh06Er-00mvPd for ; Fri, 11 Jul 2014 18:41:00 +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 s6BGajDg021701 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 11 Jul 2014 18:36:45 +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 s6BAfvPa030731; Fri, 11 Jul 2014 18:36:44 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 11136866 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Fri, 11 Jul 2014 18:36:44 +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 s6BGainc004112 for ; Fri, 11 Jul 2014 18:36:44 +0200 Received: from smtp3.easily.co.uk (smtp3.easily.co.uk [91.194.151.18]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id s6BGaYBd013649 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Fri, 11 Jul 2014 18:36:37 +0200 Received: from [109.147.141.148] (port=56223 helo=palladium.local) by smtp3.easily.co.uk with esmtpa (Exim 4.43) id 1X5doI-000055-6i for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Fri, 11 Jul 2014 17:36:34 +0100 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 References: <539432A6.7030205@clear.net.nz> <5395A7A3.7040106@residenset.net> <5395AA02.8040704@morningstar2.co.uk> <53BF9FD5.8070805@clear.net.nz> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Message-ID: <53C01291.2010600@morningstar2.co.uk> Date: Fri, 11 Jul 2014 17:36:33 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Joseph Wright Subject: Re: Juxtaposition in l3fp To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: 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:OY81zWKd5uk=:l7bvYOX+9oDvm9exj9SNo+qLrk 5tpSFN8a+qBL1emmWeStMdlb4NgGYE3E9bLim5tkL/GNvTpHcdcmvDVUkm6Hb5vEIXFUbFXlk ez0db+9ghW0vG5z77MAItRrjZwn7U4+Nc2Pf83eE40q1g/zwnZwOBoTgkndHNXg2OWOyvwU/Y fkmkbqyfpHmbmaIIV1GS9UqycQ7DDg2v7tvrvEPKYx8XuAcOzFxClUNm+e95gI+/exC9TTQWt 4HJFlrkuHPO5I4v6QiEelKx4qCDECoYRHDHbG2aJe0rtEdQKBfuvMhFrDPp7mdBSsuY1+PtdS F2TX+GPev17k357ZFTWlH68rT8scrJ0hjG53NlC+iE4sgeBpdNXvEgUDuA63GQy4xz9cr9PbW bm1kP08nrnCpMqnkk3J7rWNCOVg2LioWSj3lEXu4ev6LvVCF0BGf3w4MQJBlYIoDu0ERLATvq WMz4BG/caGUxs/xwQn8U1c0ioz8egmQ6DQgSR2+Oe/+bN0hbnstRh+9EvR8EdNUj/9YGmELvj ZhgdT9wLVQWp3mzJVA63tABzvazelxIZ9FCUIRlMe5EWY04D5urXfOSLDTxI6XPv2r0q5IHHA 9nsFSzu9m2yvz0a/EzOBHTYTdFxRIxZhfUKpnbeVCCrrmxcbw89ZNTSd09gtbHmRgJh63i9QF htU46fT+5eDV97pVkd6wOLibviEYkn1DVrWgQe4R+onTTcnn+v9puNSbfaS/mxeWJGbO+ynrb 9kMIfU6MNvOScYUDZco9snfC7lfRAQ3VSj9NCLPXHbx6vBRBGv0T0JgPwX8SUpXFpmgvNw13a Cx85XmMfnWm9I+POpgaB8LzLYPvc7c6i3InPwi43QbdpBJr/ukRu0BJEMbHHhdNKAIBMvz/Zv TZOWP/7DVZWA9T4Fxr17MRKVOzQpOSXgX6fN1qA67+hFdRTRFflCozGwEi8Jx3BRXMw9vHb/S cSV9LBQYYuRFk0/1dJKJZcPJhA1gG6vHgaho2IlhJJEtSgTP1nJj6/E8SKcRrGs6lo9fAlBCD BFuHiP8RhLSA9UAjg4luo1bkB+f7KaJR5qX85IMVqALGKfxk254UsSg3Woxk0k/CqORM+K4Hj 9863kjDRp7z1y1wV795B69QBj3oW+DQKZXuICRQBedpF5EtyGUkoJ/TrsDOtqsN0IzEfcmQlL RhM8n6iq4HsOtRDj/1CsTuEpOvXQ9w6qowlx4YrXI/g3J9TDuKAqtDKled/AyyeCp6Zlizobt o5ec1yWGevX6wC1gzh/B8EFN5eJZWdBNXvbB8VZAez7pU4AXE4GCIcdAS8Uu19Qvt483yNYRL FLHRDLFVGmYB04ssUfJRY1CJa6LE0iaSCByacbUewF3QQLDhbXFzA8p1Vp6WmlDA9rlad3BjN bmCESbvEazGQOMWO77pGFRRpc9wCfeS6RAaDxBQ4En2ldyROgqgRHOc5HN16O+Tbm0CzqVXOf 8J1DZ99fopWX9xw/l7uu9PtiQIwAzzlTK6hkILFlwiE6+3AYAuGpYO+G+oPyWiLeTBTwzynk2 lozDC0VGAHSC92FStNg0= X-UI-Loop:V01:9T4SDIp9FTI=:k6fWYd15SKuRMgPszCnJ57pCUV2tETyfrRPUxblB/88= Status: R X-Status: X-Keywords: X-UID: 7544 On 11/07/2014 17:22, Bruno Le Floch wrote: >> Actually, I've found this "abuse" quite a handy device, and despite the >> introduction of the sqrt function to l3fp, for n-th roots, exp(1/n)ln >> has a certain convenience. > > Well, that won't work once we change the precedence of juxtaposition > to be the same as normal multiplication. But IIRC, we added (perhaps > in l3candidates? I'll check) a way for users to define their own fp > functions. This is still experimental. Looking at it, it seems we > don't document \fp_function:Nw and \fp_new_function:Npn anywhere. That code is not in the public distribution :-) (It's in l3trial, which is on GitHub/SVN but not distrusted further as it's 'very experimental'.) > No. All programming languages in which function arguments are > surrounded with parentheses interpret ln(123)**2 as (ln(123))**2, so > l3fp should as well. Quite: in the same way, while mathematicians write "sin^2 x", in code you have to go for "(sin x)^2". > Now the question is how to implement the change in precedence in the > least destructive way. I don't think we can have any warning (well... > that's only mostly true, I have some very experimental code for ugly > expandable warnings). Should we just do the change brutally? This one is a 'breaking change', so we have to bite the bullet. We are well outside of the 'no breaking changes' window we have for the TL freeze, so what will have to happen here is once the code is checked in I'll make sure the appropriate CTAN update comes with a warning. -- Joseph Wright