Skip to content

Setting for disabling lazy evaluation of multiplication #18

@jsveiga

Description

@jsveiga

Is this a request for a feature or a bug report?

Feature

What is the current behavior?

The "lazy evaluation of multiplication" may cause inconsistent or unexpected results (apart from the documented f(x) case), and there is no way to disable it.

Examples:

1E-2 evaluates to -2+E
N(1E-2) evaluates to 0.71828
(E is evaluated to Euler's number, 1E is evaluated as 1*E)

1e-2 evaluates to -2+e
N(1e-2) evaluates to -2.0+e
(e is evaluated as a variable (ok, case sensitive), 1e is evaluated as 1*e)

1.0E-2 evaluates to 0.01
1.0e-2 evaluates to 0.01
(e or E is evaluated as the usual scientific notation)

0x1 is evaluated as 1 (hex 1)
0y1 is evaluated as 0 (0 * y * 1)

Having the option to require the explicit "*", and throwing an error when it's not present would produce consistent and less typing-error-prone results.

What is the expected or desired behavior?

Having a setting, like for relaxedSyntax, for explicitMultiplication, turning off the "lazy evaluation of multiplication"

Please provide use cases for changing the current behavior:

When feeding user input to Symja, most (if not all) calculator users expect the scientific notation, 1e-10 for example, to work as expected (yes, it is possible to "sanitize" the input too, but disabling the feature in Symja would be ideal)

Please describe your development environment (OS, browser, etc.):

Linux, Android Studio 3.0.1

Symja is awesome, Thanks!

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions