-
Notifications
You must be signed in to change notification settings - Fork 95
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implement contract deduplication optimization (#1631)
* Duplicate contrat elision: first tentative * Fix contract deduplication The previous attempt wasn't fruitful, because we don't pass the initial environment to the contract equality checker. This commit thread the initial environment through the virtual machine and various functions to make it available to the contract deduplicator * Use contract deduplication for annotations as well Use a special contract deduplication to avoid pretty printing many many identical type annotations when evaluating. The actual contract applications were already elided as far as evaluation is concerned, but contracts annotations were still accumulated without deduplication. * Rename elision->dedup which is better descriptive * Fix clippy warning * Fix cargo doc warnings * Cosmetic improvements * Mention idempotency assumption in the manual * Update core/src/typecheck/eq.rs Co-authored-by: Taeer Bar-Yam <[email protected]> * Fix REPL query not working anymore * Update core/src/typecheck/eq.rs Co-authored-by: jneem <[email protected]> * Formatting * Fix clippy error * Update core/src/program.rs Co-authored-by: Viktor Kleen <[email protected]> --------- Co-authored-by: Taeer Bar-Yam <[email protected]> Co-authored-by: jneem <[email protected]> Co-authored-by: Viktor Kleen <[email protected]>
- Loading branch information
1 parent
f4a4792
commit f06bda9
Showing
13 changed files
with
487 additions
and
208 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.