Idris2/tests
Edwin Brady 3a6614b227 Look at intermediate results in program search
This has involved quite a bit of reorganisation and some improvements in
resugaring so that the results look nice. In summary:

* Expression search now gives back a RawImp rather than a checked term,
  which allows it to include case expressions
* Case with one pattern is resugared to a destructuring let
* Some name generation issues address in function generation

We look at intermediate results for local variables which are functions
that return a concrete type, or recursive calls that return a single
constructor type. In these cases, we:

* let bind the local variable/recursive call
* generate a new definition for the scope, as a 'case' function

When we recursively generate the definition, it's a bit more restricted
so as not to explode the search space. We only take the first result, we
only look one constructor deep, and we go right to left on variable
splitting so only deconstruct the name we've just added.
2020-08-04 12:51:57 +01:00
..
chez Merge pull request #408 from melted/buffer_api 2020-07-21 10:43:17 +02:00
ideMode Reorganise prelude into multiple files 2020-07-12 16:55:48 +01:00
idris2 Look at intermediate results in program search 2020-08-04 12:51:57 +01:00
node add test for js case clause scopes 2020-07-14 14:22:08 -04:00
ttimp add parens for some TTImp Shows 2020-06-06 17:16:43 -07:00
typedd-book Vect updates (#335) 2020-07-04 11:02:04 +01:00
Main.idr Look at intermediate results in program search 2020-08-04 12:51:57 +01:00
Makefile Make sure literals are normalise on LHS 2020-05-23 11:48:15 +01:00
README.md Add test script 2020-05-19 18:25:18 +01:00
tests.ipkg Windows support 2020-05-21 15:13:06 +02:00

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 for TTImp.
  • make test only=idris2/basic001 will run a specific test.