Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New evaluator that doesn't depend on flattening #1495

Merged
merged 39 commits into from
Sep 9, 2024
Merged
Show file tree
Hide file tree
Changes from 35 commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
1bf92b6
Rewrite evaluator to not depend on flattening
bugarela Aug 20, 2024
36bf10e
Fix many evaluation issues
bugarela Aug 20, 2024
4a2ab82
Fix memo by making it mutable again
bugarela Aug 20, 2024
f3c519c
Attempt some improvements over context performance
bugarela Aug 20, 2024
b43affb
Avoid many lookups
bugarela Aug 20, 2024
04ceb06
Use registers for parameters
bugarela Aug 21, 2024
76e069c
Save constants in registers as well
bugarela Aug 21, 2024
ff60acc
Implement `then` and add recorder calls
bugarela Aug 21, 2024
19a63bb
Use registers for variables
bugarela Aug 22, 2024
cefbc6f
Optimize a few things
bugarela Aug 22, 2024
1f7cb83
Go back to using RuntimeValue in traces
bugarela Aug 22, 2024
d135fc3
Fix and update many integration tests
bugarela Aug 22, 2024
57be2a2
Track nondet picks in the trace
bugarela Aug 23, 2024
5f067fd
Track action taken in the trace
bugarela Aug 23, 2024
e1e0e89
Fix/update all integration tests
bugarela Aug 23, 2024
ec043f0
Organize between files
bugarela Aug 23, 2024
6e8576f
Separate and memoize building
bugarela Aug 27, 2024
d4ad6bc
Improve performance by caching val (temporarly) and pure val (permane…
bugarela Aug 27, 2024
dbda074
Cache constants and fix metadata tracking
bugarela Aug 27, 2024
cd3198a
Update unit tests
bugarela Aug 27, 2024
0b36c5c
Ensure REPL still works after name errors
bugarela Aug 28, 2024
3d61827
Improve error handling in REPL and add tests for that
bugarela Aug 28, 2024
ba55e38
Reorganize and delete unused code
bugarela Aug 29, 2024
0923a83
Fix and update most tests
bugarela Aug 29, 2024
017c5d8
Document new evaluator's code
bugarela Sep 2, 2024
77a4dde
Revert "Merge pull request #1191 from informalsystems/gabriela/fix-in…
bugarela Sep 2, 2024
2e9d0af
Update test for unsupported scenario
bugarela Sep 2, 2024
c866d20
Merge remote-tracking branch 'origin/main' into gabriela/new-evaluator
bugarela Sep 2, 2024
4ff1347
Fix formatting issue
bugarela Sep 2, 2024
002bd29
Fix integration test by making sure the proper table is used in the o…
bugarela Sep 2, 2024
b486185
Update fixtures, consts now keep their proper id in the table
bugarela Sep 2, 2024
87dfdfc
Add missing progress bar update (that got lost in conflict resolution)
bugarela Sep 2, 2024
3116a43
Add CHANGELOG entries
bugarela Sep 2, 2024
2537fdb
Remove remainder from old behavior left as comment
bugarela Sep 2, 2024
949408c
Fix hint text
bugarela Sep 9, 2024
76bbfb8
Improve code quality a bit
bugarela Sep 9, 2024
be10877
Fix REPL issue when evaluating a variable that was never referenced
bugarela Sep 9, 2024
c641178
Merge remote-tracking branch 'origin/main' into gabriela/new-evaluator
bugarela Sep 9, 2024
c2d27e6
Use `-q` flag in new REPL integration tests to avoid dealing with
bugarela Sep 9, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- In the `verify` command, add warning if `--out-itf` option contains `{test}` or `{seq}` as those have no effect since Apalache only produces a single trace (#1485)
- The `run` and `test` commands now display a progress bar (#1457)
- Calling `q::test`, `q::testOnce` and `q::lastTrace` on the REPL now works properly (#1495)

### Changed

- Performance of incrementally checking types (i.e. in REPL) was improved (#1483).
- Performance of the REPL was drastically improved (#1495)
- In the `run` and `test` commands, change placeholders from `{}` to `{test}` and from `{#}` to `{seq}` (#1485)
- In the `run` command, auto-append trace sequence number to filename if more than one trace is present and `{seq}` is not specified (#1485)
- In the `test` command, rename `--output` to `--out-itf`
- Error reporting was improved for many runtime errors (#1495)

### Deprecated

Expand All @@ -31,6 +34,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- Bumped GRPC message sizes to 1G (#1480)
- Fix format of ITF trace emitted by `verify` command (#1448)
- Sending SIGINT (hitting Ctrl+C) to the run and test commands now actually stops the execution (#1495)

### Security

Expand Down Expand Up @@ -148,7 +152,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- The latest supported node version is now bounded at <= 20, which covers the
latest LTS. (#1380)
- Shadowing names are now supported, which means that the same name can be redefined
- Shadowing names are now supported, which means that the same name can be redefined
in nested scopes. (#1394)
- The canonical unit type is now the empty tuple, `()`, rather than the empty
record, `{}`. This should only affect invisible things to do with sum type
Expand Down
Loading