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
{{ message }}
This repository was archived by the owner on Jan 25, 2022. It is now read-only.
For me, I feel more comfortable with the short-circuiting concept if it can be explained syntactically, as C# does, rather than by the propagation of a Nil value. Although both of these are spec devices, it seems like they leak out into the mental model that programmers will use when understanding the scope.
As an alternative to Nil reference, another — and psychologically probably better — way to spec short-circuiting, is a new type of abrupt completion whose propagation is stopped at the boundary of a LeftHandSideExpression. At first sight, it should be feasible without too much pain.
Spec-wise, the main difference between Nil reference and Nil abrupt completion, is that the reference must be propagated at specific points, while the abrupt completion must have its propagation be stopped at other specific points.
The text was updated successfully, but these errors were encountered:
After more careful consideration, that would be more complicated and/or more brittle. Now I recall why I had specifically chosen a Reference instead of anything else.
Uh oh!
There was an error while loading. Please reload this page.
From #10 (comment)
As an alternative to Nil reference, another — and psychologically probably better — way to spec short-circuiting, is a new type of abrupt completion whose propagation is stopped at the boundary of a LeftHandSideExpression. At first sight, it should be feasible without too much pain.
Spec-wise, the main difference between Nil reference and Nil abrupt completion, is that the reference must be propagated at specific points, while the abrupt completion must have its propagation be stopped at other specific points.
The text was updated successfully, but these errors were encountered: