And, lastly (from my side).. Steffen Nurpmeso wrote in <20221229231538.pz4j9%stef...@sdaoden.eu>: ... |Alain D D Williams wrote in | <20221229215700.gd16...@phcomp.co.uk>: | ... ||Anyway: back to what the shell should be doing. You cannot put a ';' \ ||into (( )) ||as a sequence point, but the manual does say: || ||"Sub-expressions in parentheses are evaluated first and may override the ||precedence rules above" || ||So use sub-expressions to 'evaluate first' so you should prolly rewrite: ... ||(( i += (j += (i += i)) )) | |I had tried that with clang (and now with gcc -Wall).
..i want to reiterate the relation to what "human logic" expects. Now, the entire scene is often on the brainfuck (programming language) side, nonetheless i, and the way all tested ISO C compilers, and dash, and my evaluator do it, would hope in the sense of "what comes natural"ly, that my point of view counts as what "human logic" would expect. Ciao, --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt)