* 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 <Radvendii@users.noreply.github.com>
* Fix REPL query not working anymore
* Update core/src/typecheck/eq.rs
Co-authored-by: jneem <joeneeman@gmail.com>
* Formatting
* Fix clippy error
* Update core/src/program.rs
Co-authored-by: Viktor Kleen <viktor.kleen@tweag.io>
---------
Co-authored-by: Taeer Bar-Yam <Radvendii@users.noreply.github.com>
Co-authored-by: jneem <joeneeman@gmail.com>
Co-authored-by: Viktor Kleen <viktor.kleen@tweag.io>
* First pass on testing snippets in `manual/syntax.md`
* Remove explicit `TestCase`
* Remove explicit panic
* Add test annotations to the manual
* Stop filtering markdown files
* Update `typing.md` example
* Apply suggestions from code review
Co-authored-by: jneem <joeneeman@gmail.com>
* Some tweaks to multi line string examples
* Move from `nickel-...` info strings to `nickel #...`
---------
Co-authored-by: jneem <joeneeman@gmail.com>
* Removed explicit state from Traverse trait
* Make clippy happy
* Consistent whitespace between documented items
I kept running into this while going through the codebase,
so I thought I'd fix it once and for all.
And no, I did not do this by hand. So I might have missed some cases.
* More formatting.
Mainly includes wrapping of comments to the 100 column mark,
as well as some more formatting on macros and strings.
* restore try_map_state in Traverse impl
* Removed IdentKind
It was technically only used in the PartialEq implmentation of Thunk.
Still, I don't think that had any effect.
* Fix doc comment
Co-authored-by: Yann Hamdaoui <yann.hamdaoui@gmail.com>
---------
Co-authored-by: Taeer Bar-Yam <taeer.bar-yam@tweag.io>
Co-authored-by: Yann Hamdaoui <yann.hamdaoui@gmail.com>
Co-authored-by: Yann Hamdaoui <yann.hamdaoui@tweag.io>