Hello list, Sorry for the >1 month delay. This is a followup to the thread asking whether letting juxtaposition denote multiplication was a good idea. I think it was, but I made a big mistake in making juxtaposition be multiplication with a _different precedence_ than the asterisk. On 6/9/14, Joseph Wright <[log in to unmask]> wrote: > On 09/06/2014 13:25, Lars HellstrÃ¶m wrote: >> A data point of possible interest is MetaFont, which has some cases of >> juxtaposition as a high priority operation (e.g. 2/3x means two thirds >> of x). Since it's Knuth, it's probably very consistent, but not >> necessarily intuitive. > > I guess Bruno can say more, but I suspect that requiring explicit "*" > for multiplication might have a benefit in terms of code complexity (no > need to allow for other cases). An obvious question for me is would such > a position lead to problematic cases? The comparison with MetaFont is > probably a useful one in this regard. From reading (short) old discussions on when I decided to allow juxtaposition, MetaFont was indeed an inspiration for making juxtaposition bind very tightly. Another inspiration was pgfmath, which allows juxtaposition for dimensions only, and treats a number and its dimension as a single operand for any operation: \input pgfmath \pgfmathparse{.25pc^2} \show\pgfmathresult % gives (.25*12pt)^2 = 9.0 In l3fp, I pushed the idea to its extreme, allowing juxtaposition for things other than units, and I kept the precedence as being the tightest possible. As Lars rightfully says it's "consistent, but not necessarily intuitive". Andrew has given several cases where my choice leads to a terrible behaviour for l3fp, and there is basically no case where the current behaviour is better (well, there was one abusive one: with this rule, exp.5ln(...) computes the square root, but now that is not needed). I'm keen on leaving juxtaposition = multiplication, because that allows to use dimensionful numbers directly inside fp expressions (pt, in, ... are defined as floating point constants). I believe that we 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. Would that make sense? Am I missing something crucial (probably... I didn't realize when allowing juxtaposition what a mess I was creating)? Best regards, Bruno