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

Reply via email to