You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reworked import system.
Now, upon executing an import statement, the module name will be defined in the current scope instead of the global one. Same thing applies to the names of an import for statement. This is more consistent with the rest of the language that always defines names in the closest surrounding scope
As a consequence of the changes to the import system, the import ... for * syntax is not allowed anymore
Can now overload the power operator ^ using the __pow__ overload method
Added bitwise operators to the language:
Infix:
Bitwise and operator &. Overloads: __band__ and __rband__
Bitwise or operator |. Overloads: __bor__ and __rbor__
Bitwise xor operator ~. Overloads: __xor__ and __rxor__
Bitwise left shift operator <<. Overloads: __lshift__ and __rlshift__
Bitwise right shift operator >>. Overloads: __rshift__ and __rrshift__
Prefix
Bitwise complement ~. Overload __invert__
When applied to Numbers, bitwise operators implicitly convert the arguments to 32-bit unsigned integers and then perform the operation. Thus, one should be careful when using numbers greater than 2^32 - 1 or smaller than 0, as overflow wrapping will take place.
Quality of life changes in the jstar app, especially regarding multi-line input