* Add example of set objects
* Use boolean methods to clean up codefinitions
This also brings the example closer to the paper
* Implement interval sets
This is implemented in terms of a new `Nat.cmp` operation, along with
various predicates on the `Ordering` type (inspired by Rust’s
`Ordering` API).
* Improve documentation of the set example
* Update examples/index.json to include the set.pol
* Fix wording of comment
* Not working yet
* Fix bugs
* Update npm dependencies and language configuration
* Fix some leftovers
---------
Co-authored-by: Tim Süberkrüb <dev@timsueberkrueb.io>
* Fix duplicate cache invalidation
* Fix unification for conversion checking
* Propagate and evaluate hole solutions in normalizer
* Handle unification of metavariables from other modules
* Give Eq implicit parameters where possible
* Apply suggested changes to docstrings
* Pass metavar as reference to Occurs::occurs_metavar
* this function -> this method
* Extract variables under layers of holes/annotations
* Fix typo
* Keep track of argument names in Hole::levels
* Format all examples using code formatter
* Apply suggestions from code review
Co-authored-by: Tim Süberkrüb <dev@timsueberkrueb.io>
* Update examples/covect.pol
Co-authored-by: Tim Süberkrüb <dev@timsueberkrueb.io>
---------
Co-authored-by: Tim Süberkrüb <dev@timsueberkrueb.io>
* Extract initial stdlib from examples
* Document stdlib conventions
* Make Eq type parameter implicit
* Make super-linter happy
* Fix std/data/eq.pol
* Test stdlib with test-runner
* Fix bug in lifting
* Revert to non-implicit Eq for now