Commit Graph

269 Commits

Author SHA1 Message Date
Edwin Brady
227bd3b457
Merge pull request #119 from idris-lang/idemode
[ refactor ] Idris.IDEMode.CaseSplit
2020-05-25 09:09:37 +01:00
Edwin Brady
9970c66417 Warn on detecting unreachable patterns
I don't know how complete this is, but it certainly detects some of the
most obvious cases which are most likely to be bugs.

While I'm at it, this is as good a time as any to add a general way of
reporting warnings, similar to the way of reporting errors.
2020-05-25 00:16:49 +01:00
Edwin Brady
3ec8631480 More coverage checking fixes
Still a couple of things to resolve in coverage and totality checking
before we can switch on %default, so don't expect quite the right
behaviour just yet. More progress though!

Also working on this has caught a few totality errors in the Idris 2
code base that Idris 1 missed... so these are fixed on the way.
2020-05-24 18:33:43 +01:00
Guillaume ALLAIS
53a7cf36a1 [ fix ] preserve spacing during update 2020-05-23 14:41:44 +01:00
Edwin Brady
aeea2b80c9
Merge pull request #109 from ziman/with-disamb
`with` expressions for name disambiguation
2020-05-23 12:22:35 +01:00
Niklas Larsson
61ec7757ed
Merge pull request #107 from melted/fix_win_tests
Fix windows tests
2020-05-23 13:08:41 +02:00
Edwin Brady
65e3f63598 Make sure literals are normalise on LHS
The hack (optimisation?) to normalise integer literals when below some
threshold is fine on the RHS, but on the LHS causes problems since we
need them in normal form for pattern matching. Fixes #112
2020-05-23 11:48:15 +01:00
Edwin Brady
eb3cba5f85 Better checking for empty types
This improves coverage checking, because it can now see that things like
(Z = S x) and (x = S x) are empty. Previously, it only checked that all
possible constructors had a disjoint index. Now, it looks for matches
and checks for disjointness in the matches, which catches a lot more
things especially with equality.
2020-05-23 11:03:54 +01:00
Niklas Larsson
755a10056a Be lenient with slashes and backslashes on Windows 2020-05-23 11:08:25 +02:00
Matus Tejiscak
74dd653fc5 Apply the patch from idris2-boot. 2020-05-22 20:26:10 +02:00
Edwin Brady
b0b3861498
Merge pull request #94 from melted/win_bootstrap
Windows support
2020-05-21 19:19:51 +01:00
Edwin Brady
bd093e9cba Propagate totality options on methods
As in Idris 1 - if an interface declares a method as total or covering,
then all implementations have to satisfy that.

Temporarily turn off %default directive again, at least until totality
checking works as it should (this is probably better than removing it
from various places because I'll forget to put them back)
2020-05-21 16:04:22 +01:00
Niklas Larsson
d50bb099ea Windows support 2020-05-21 15:13:06 +02:00
Edwin Brady
0f724fbc7f Report errors on totality check failure
This means temporarily removing some '%default total' from the libraries
and tests, since the input for codata checking isn't right yet (it needs
appropriate use of inlining)
2020-05-21 13:08:19 +01:00
Edwin Brady
8291c8bbeb Add runtime error for unhandled cases
Should have done this ages ago, it was much easier than I expected...
this adds an explicit error clause before running the pattern match
compiler for runtime case trees, but only if the coverage checker finds
there are missing cases.
2020-05-21 10:54:22 +01:00
Christian Rasmussen
5281de93e0 Fix chez016 test 2020-05-19 22:02:15 +02:00
Edwin Brady
bd6a4903b5 Finish tests 2020-05-19 20:06:37 +01:00
Edwin Brady
63f0dae035 Remove some tests which are no longer useful
These are ttimp tests that are now subsumed by idris2 tests, and we'd
need to implement some ttimp source that isn't really worth it at this
stage.
2020-05-19 18:31:52 +01:00
Edwin Brady
a972778eab Add test script
They don't all pass yet, for minor reasons. Coming shortly...
Unfortunately the startup overhead for chez is really noticeable here!
2020-05-19 18:25:18 +01:00