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.
Files changed (2) hide show
  1. package/README.md +17 -8
  2. 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
- | Channel | Package | Status |
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
- | crates.io | [`tla-tools`](https://crates.io/crates/tla-tools) | planned: `cargo install tla-tools` |
83
- | npm | [`tla-rs`](https://www.npmjs.com/package/tla-rs) | planned: `npx tla-rs Spec.tla`, with prebuilt binaries |
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
- Both install the same `tla-rs` command. Until the first release, build from source. This needs Rust 1.85 or newer:
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
- - [ ] Show the output of `Print` and `PrintT`
167
- - [ ] Support `ALIAS` in counterexample traces
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.1.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.1.0",
32
- "tla-rs-darwin-x64": "0.1.0",
33
- "tla-rs-linux-arm64": "0.1.0",
34
- "tla-rs-linux-x64": "0.1.0",
35
- "tla-rs-win32-x64": "0.1.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
  }