pgo
PGo is a source to source compiler from Modular PlusCal specs into Go programs. (by DistCompiler)
CommunityModules
TLA+ snippets, operators, and modules contributed and curated by the TLA+ community (by tlaplus)
pgo | CommunityModules | |
---|---|---|
2 | 3 | |
168 | 257 | |
3.0% | 2.7% | |
3.7 | 6.9 | |
about 1 month ago | 8 days ago | |
TLA | TLA | |
Apache License 2.0 | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
pgo
Posts with mentions or reviews of pgo.
We have used some of these posts to build our list of alternatives
and similar projects.
-
Is “x' = f(x)” a programming paradigm?
Maybe you'd be interested in PGo, though it's nothing like you asked for ;-), but at least it's in similar domain. They had a talk at the TLA+ Conference.
-
TLA+ in OMSCS?
There are research efforts underway to auto-generate code from TLA+ specifications but they are still in their infancy.
CommunityModules
Posts with mentions or reviews of CommunityModules.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-03-03.
-
Generate (message) sequence diagrams from TLA+ state traces
Adding a vector clock is relatively straightforward (see e.g. https://github.com/tlaplus/Examples/commit/ee10c6ed1c65f1002c8ad402edceeffcf1a833e). For PlusCal, the vector clock can be computed from the PC variable: https://github.com/tlaplus/CommunityModules/blob/master/modules/ShiViz.tla
- JSON to TLA+
-
Converting tuples to record
You can find such definitions in the community modules. Here's one for sets, and here's one you can use for sequences.
What are some alternatives?
When comparing pgo and CommunityModules you can also consider the following projects:
BlockingQueue - Tutorial "Weeks of debugging can save you hours of TLA+". Each git commit introduces a new concept => check the git history!
practical-fm - A gently curated list of companies using verification formal methods in industry
DrTLAPlus - Dr. TLA+ series - learn an algorithm and protocol, study a specification
Examples - A collection of TLA⁺ specifications of varying complexities
advent-of-tla - AoC goals in TLA+
TLAplus - TLA+ questions, answers, and experiments
tlsd - Generate (message) sequence diagrams from TLA+ state traces
panicparse - Crash your app in style (Golang)
ewd998 - Distributed termination detection on a ring, due to Shmuel Safra: