mirror of
https://github.com/edwinb/Idris2-boot.git
synced 2025-01-07 05:36:30 +03:00
fbf82eaf0b
Make desugaring/elaboration of interfaces, interface implementations, records, and parameter blocks take into account the pragma `%unbound_implicits off`. Main changes: (a) Execute the pragma also during desugaring (b) Check whether `isUnboundImplicits` is on at each desugaring step Alternatives I didn't take: (1) Changing `findBindableNames` to effectfully check the flag. Rationale: Apart from turning a pure function into an effectful one, this would mean repeatedly calling `findBindableNames`, only to do nothing once the flag is read. (2) Adding another function that takes multiple places (list of terms) that might contain bindable names, and before dispatching `findBindableNames` on each term, checking the flag. Rationale: I didn't want to add another abstraction. (weak rationale) @edwinb @gallais : if you prefer (2), I can do that. |
||
---|---|---|
.. | ||
chez | ||
ideMode | ||
idris2 | ||
ttimp | ||
typedd-book | ||
Main.idr | ||
Makefile | ||
README.md |
Tests
Note: The commands listed in this section should be run from the repository's root folder.
Run all tests: make test
To run only a subset of the tests use: make test only=NAME
. NAME
is matched against the path to each test case.
Examples:
make test only=chez
will run all Chez Scheme tests.make test only=ttimp/basic
will run all basic tests forTTImp
.make test only=idris2/basic001
will run a specific test.