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
The sync link has changed the code execution order and there is no longer the top down intuition for execution. There is no way to reliably predict when each block will change a global variable value.
To solve this problem I think there should be the introduction of a constant. All global variables must be constants. This also opens up the possibility of exporting variables for consumption by other programs.
Proposed Syntax
Reuse the def keyword used for defining blocks and functions. This would define a value.
def myChord -> (a, b, c) //A constant
myOtherChord -> (a, b, c) //A variable
Assignment to constants would then throw an exception
myChord -> (d, e, f) //Error, myChord is constant
The compiler should also ensure that the current behavior of manipulation operations making fresh objects as everything in the object should be immutable. i.e.
myRoot -> (a)
def myChord -> (myRoot, b, c)
myRoot -> (b) //Must not change myChord
The text was updated successfully, but these errors were encountered:
The sync link has changed the code execution order and there is no longer the top down intuition for execution. There is no way to reliably predict when each block will change a global variable value.
To solve this problem I think there should be the introduction of a constant. All global variables must be constants. This also opens up the possibility of exporting variables for consumption by other programs.
Proposed Syntax
Reuse the
def
keyword used for defining blocks and functions. This would define a value.Assignment to constants would then throw an exception
The compiler should also ensure that the current behavior of manipulation operations making fresh objects as everything in the object should be immutable. i.e.
The text was updated successfully, but these errors were encountered: