Note
Unlike Java and JavaScript, Alf allows new local names to be defined without an explicit declaration. This can result in the masking of errors if the name of a context attribute is misspelled on the left-hand side of an assignment statement. For instance, if the assignment in the action on the lower left in the activity above were changed to Fcntrol = Fmin; (with "Fcontrol" misspelled to "Fcntrol"), this would not be reported as an error. Rather, the assignment would simply define a new local name Fcntrol within the Opaque Action, which would be assigned Fmin as its initial value, with no effect on Fcontrol.