I'm a python user and I dislike using **, it just becomes rather noisy. Expressing formulas in text based programming languages has always been kind of a drag. On the other hand, often the mathematical expression of a formula would be quite inefficient because they lack the ability to keep temporary results in some variable. Picking a formula apart to isolate those temporaries the expressiveness vanishes naturally.
On Tue, Aug 25, 2015 at 7:25 PM, Mark S. Miller <erig...@google.com> wrote: > It also does not work. x ** y ** z, if we allow it at all, must be right > associative. It must parse as x ** (y ** z). > > > On Tue, Aug 25, 2015 at 10:08 AM, Mark S. Miller <erig...@google.com> > wrote: > >> It does not work as well as simply omitting ** entirely. >> >> >> On Tue, Aug 25, 2015 at 9:42 AM, Isiah Meadows <isiahmead...@gmail.com> >> wrote: >> >>> I like this. It works very well. >>> >>> On Tue, Aug 25, 2015, 12:38 Claude Pache <claude.pa...@gmail.com> wrote: >>> >>>> >>>> I think the following grammar could work. >>>> Replace the current (ES2015) PostfixExpression production with: >>>> >>>> ``` >>>> IncrementExpression: >>>> LeftHandSideExpression >>>> LeftHandSideExpression [no LineTerminator here] ++ >>>> LeftHandSideExpression [no LineTerminator here] -- >>>> ++ LeftHandSideExpression >>>> -- LeftHandSideExpression >>>> ``` >>>> >>>> And define UnaryExpression as: >>>> >>>> ``` >>>> UnaryExpression: >>>> IncrementExpression >>>> delete UnaryExpression >>>> void UnaryExpression >>>> typeof UnaryExpression >>>> ++ UnaryExpression >>>> + UnaryExpression >>>> -- UnaryExpression >>>> - UnaryExpression >>>> ~ UnaryExpression >>>> ! UnaryExpression >>>> IncrementExpression ** UnaryExpression >>>> ``` >>>> >>>> where the following production (which exists only to avoid to >>>> confusingly interpret, e.g., `++x++` as `+ +x++`): >>>> >>>> ``` >>>> UnaryExpression: >>>> ++ UnaryExpression >>>> -- UnaryExpression >>>> ``` >>>> >>>> yields a static SyntaxError (or a static ReferenceError if we want to >>>> be 100% compatible ES2015). >>>> >>>> >>>> That way, we have the following expected behaviour: >>>> * in/decrement operators bind most tightly; >>>> * unary and exponentiation operators are applied from right to left. >>>> >>>> >>>> —Claude >>>> >>>> >>>> _______________________________________________ >>>> es-discuss mailing list >>>> es-discuss@mozilla.org >>>> https://mail.mozilla.org/listinfo/es-discuss >>>> >>> >> >> >> -- >> Cheers, >> --MarkM >> > > > > -- > Cheers, > --MarkM > > _______________________________________________ > es-discuss mailing list > es-discuss@mozilla.org > https://mail.mozilla.org/listinfo/es-discuss > >
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss