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
Note the RECURSIVE directive, which is what will not currently parse/scope.
I don't anticipate there being that much difficulty implementing this. The assumption that all operators are non-recursive is almost un-used in PGo as far as I recall, so the main obstacle would be getting parsing / scoping to cooperate with the new construct (especially in term rewrites!).
TLA+ 2 has a lot more features than just this, but perhaps those are less important. An initial PR would probably do well to have a limited scope.
So far, PGo has been developed blissfully ignorant of TLA+ 2, and it had not caused problems.
When discussing how to implement the sum of a set of integers, however, it becomes apparent that we need at least a bit of TLA+ 2 in practice.
At minimum, this snippet of TLA+ declarations should work (taken from https://learntla.com/libraries/sets/):
Note the
RECURSIVE
directive, which is what will not currently parse/scope.I don't anticipate there being that much difficulty implementing this. The assumption that all operators are non-recursive is almost un-used in PGo as far as I recall, so the main obstacle would be getting parsing / scoping to cooperate with the new construct (especially in term rewrites!).
TLA+ 2 has a lot more features than just this, but perhaps those are less important. An initial PR would probably do well to have a limited scope.
Reference on TLA+ 2: http://lamport.azurewebsites.net/tla/tla2.html
The text was updated successfully, but these errors were encountered: