tla-rs 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -8
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -77,12 +77,18 @@ Other Rust TLA+ checkers either target a subset of the language (`fabracht/tla-r
|
|
|
77
77
|
|
|
78
78
|
## Installation
|
|
79
79
|
|
|
80
|
-
|
|
80
|
+
```shell
|
|
81
|
+
npm install -g tla-rs # or run it once: npx tla-rs Spec.tla
|
|
82
|
+
cargo install tla-tools # builds from source; needs Rust 1.85 or newer
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
| Channel | Package | Notes |
|
|
81
86
|
| --- | --- | --- |
|
|
82
|
-
|
|
|
83
|
-
|
|
|
87
|
+
| npm | [`tla-rs`](https://www.npmjs.com/package/tla-rs) | prebuilt binaries for macOS (arm64, x64), Linux (arm64, x64, glibc) and Windows (x64) |
|
|
88
|
+
| crates.io | [`tla-tools`](https://crates.io/crates/tla-tools) | compiles on your machine |
|
|
89
|
+
| GitHub Releases | [archives](https://github.com/bbcvc/tla-rs/releases) | the same binaries as npm, with SHA256SUMS |
|
|
84
90
|
|
|
85
|
-
|
|
91
|
+
All three install the same `tla-rs` command. To build from source:
|
|
86
92
|
|
|
87
93
|
```shell
|
|
88
94
|
git clone https://github.com/bbcvc/tla-rs.git && cd tla-rs
|
|
@@ -160,12 +166,16 @@ The conformance runner checks each model in its own process and compares the res
|
|
|
160
166
|
- [x] Liveness checking with fairness, as TLC's `-lncheck final`
|
|
161
167
|
- [x] Parallel breadth-first search with deterministic counts
|
|
162
168
|
- [x] TLC-compatible command line
|
|
169
|
+
- [x] Releases on crates.io and npm with prebuilt binaries, and CI
|
|
170
|
+
- [x] Show the output of `Print` and `PrintT`, where TLC prints it
|
|
171
|
+
- [x] `ALIAS` in counterexample traces
|
|
172
|
+
- [x] TLC's stack of nested expressions for an error computing the initial states or the successors of a state
|
|
173
|
+
- [x] SANY's report of the modules it parses, analyzes and lints, and of a semantic or fatal error
|
|
163
174
|
|
|
164
175
|
**Next**
|
|
165
176
|
|
|
166
|
-
- [ ]
|
|
167
|
-
- [ ]
|
|
168
|
-
- [ ] Print SANY's parse messages and warnings exactly, and TLC's stack of nested expressions in evaluation errors
|
|
177
|
+
- [ ] SANY's warnings, every semantic error of a spec rather than the first, and SANY's own words for a syntax error
|
|
178
|
+
- [ ] TLC's fingerprint stack trace, for an error in a value TLC evaluates lazily
|
|
169
179
|
- [ ] Cut per-call evaluation overhead; about ten large models (VR_*, S2C, MoveRange) are still around 2× slower than TLC
|
|
170
180
|
- [ ] Bring the 15 models that time out at 60 s on one worker under the limit
|
|
171
181
|
- [ ] Parallel liveness checking (temporal properties run on one worker today)
|
|
@@ -173,7 +183,6 @@ The conformance runner checks each model in its own process and compares the res
|
|
|
173
183
|
- [ ] Persistent worker threads and a lock-free fingerprint set
|
|
174
184
|
- [ ] Disk-backed state queue and fingerprint set for state spaces larger than memory
|
|
175
185
|
- [ ] Simulation mode (`-simulate`), `-lncheck` during the search, `-dump`, `-continue`
|
|
176
|
-
- [ ] Publish `tla-tools` to crates.io and `tla-rs` to npm with prebuilt binaries, and set up CI
|
|
177
186
|
|
|
178
187
|
## Documents
|
|
179
188
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tla-rs",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "A fast TLA+ model checker in Rust that gives the same answers as TLC, state for state",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"tla",
|
|
@@ -28,10 +28,10 @@
|
|
|
28
28
|
"node": ">=16"
|
|
29
29
|
},
|
|
30
30
|
"optionalDependencies": {
|
|
31
|
-
"tla-rs-darwin-arm64": "0.
|
|
32
|
-
"tla-rs-darwin-x64": "0.
|
|
33
|
-
"tla-rs-linux-arm64": "0.
|
|
34
|
-
"tla-rs-linux-x64": "0.
|
|
35
|
-
"tla-rs-win32-x64": "0.
|
|
31
|
+
"tla-rs-darwin-arm64": "0.2.0",
|
|
32
|
+
"tla-rs-darwin-x64": "0.2.0",
|
|
33
|
+
"tla-rs-linux-arm64": "0.2.0",
|
|
34
|
+
"tla-rs-linux-x64": "0.2.0",
|
|
35
|
+
"tla-rs-win32-x64": "0.2.0"
|
|
36
36
|
}
|
|
37
37
|
}
|