Ayaz Hafiz
bde107da49
Remove TagName
in favor of explicit TagName or Closure
...
Note that we still need a `TagOrClosure` enum for phases past mono, but
at least we get rid of the branches in the front end.
2022-06-02 09:44:34 -05:00
Ayaz Hafiz
40b43ea98d
Fix tests that use same temp path
2022-06-01 13:14:01 -05:00
Richard Feldman
4eec34becf
Update to use new square brace formatting
2022-05-22 23:15:54 -04:00
Richard Feldman
95e82f9414
Update reporting to use new formatting
2022-05-22 22:07:09 -04:00
Ayaz Hafiz
bc2d0a2c7a
Add some more tests
2022-05-20 17:39:26 -04:00
Ayaz Hafiz
a4c122d5db
Validate derives clauses after solving
2022-05-20 15:56:55 -04:00
ayazhafiz
3bd5c83bba
Fix error message typo
2022-05-20 15:55:46 -04:00
Ayaz Hafiz
9712cfe342
Canonicalize deriving
2022-05-20 15:55:45 -04:00
Richard Feldman
3212ca3949
Revise error message for Not Found
2022-05-20 11:30:57 -04:00
Ayaz Hafiz
768121e431
Don't allocate for missing or existing members by default
...
- Missing members are zero in the happy case
- Existing members will always be populated in the happy case, but I
don't think they improve the error message, so just get rid of it.
2022-05-19 18:25:42 -04:00
Ayaz Hafiz
c5d970bd81
Improve reporting for unfulfilled abilities
2022-05-19 18:23:02 -04:00
Ayaz Hafiz
cf56b5015a
Fix existing reporting tests
2022-05-19 18:23:02 -04:00
Ayaz Hafiz
0e63efdf09
Scaffold tests
2022-05-19 18:23:02 -04:00
Ayaz Hafiz
577f1102d3
Update reporting tests
...
Not sure why these changed, but it seems okay.
2022-05-19 18:21:43 -04:00
Richard Feldman
236b36c07a
Tweak some type-checking messages
2022-05-17 20:44:16 -04:00
Folkert
c161140aec
Merge remote-tracking branch 'origin/trunk' into more-tyck
2022-05-14 14:48:54 +02:00
Ayaz Hafiz
1609a1a48b
Add some comments and tests showing why recursive defs are constrained this way
2022-05-11 19:16:10 -04:00
Ayaz Hafiz
710a10a29c
Check for invalid cycles after type solving recursive defs
...
Disallow cycles that pass through a non-function value. Since we
evaluate eagerly, having one such cycle means there is at least one path
in the program that (likely) has unbounded recursion. Of course we can't
be certain (halting problem), but it's very likely, and avoids stuff
like #1926 . Also, mono (as it's done today) won't work if things in a
cycle aren't functions.
Closes #1926
2022-05-11 14:57:01 -04:00
Richard Feldman
fd40fed937
Fix a bunch of errors from clippy --tests
2022-05-10 15:21:48 -04:00
Ayaz Hafiz
62ebb80f09
Handle recursion through Apply
s with errors
...
Closes #219
2022-05-10 12:58:14 -04:00
Ayaz Hafiz
4339d50480
Improve cycle error message
...
Closes #2513
2022-05-10 12:11:32 -04:00
Ayaz Hafiz
3ddb14184d
Move dead code removal
2022-05-10 11:29:10 -04:00
Ayaz Hafiz
3de35f7aa2
Loosen recursion var rank restriction in presence of errors
2022-05-10 11:15:21 -04:00
Ayaz Hafiz
9f6847e882
Fix test
2022-05-09 11:09:54 -04:00
Ayaz Hafiz
f89b1fdac3
Fix space
2022-05-09 10:01:03 -04:00
Ayaz Hafiz
b0734c3d80
Disallow abilities on toplevel of scope
2022-05-09 09:45:02 -04:00
Richard Feldman
df7df4ccf8
Merge branch 'trunk' into mfonism/rename-num-float-type-to-frac
2022-05-08 20:54:33 -04:00
Ayaz Hafiz
7b195d5fdf
Abilities in aliases and external member defs are legal now
2022-05-08 15:08:16 -04:00
Ayaz Hafiz
c67bc5a8d6
Remove when-related changes
2022-05-08 15:07:27 -04:00
Ayaz Hafiz
5fe902b8d3
Improve non-exhaustive typechecking errors
...
We will replace this with proper exhaustiveness checking when we have
that in the typechecking phase, but for now this should do.
2022-05-08 15:07:27 -04:00
Ayaz Hafiz
c01baa9168
Fix failing reporting tests
2022-05-08 15:07:27 -04:00
Mfon Eti-mfon
9068c2414e
Rename float functions and vars
2022-05-08 18:42:12 +01:00
Richard Feldman
dd460fb818
Use single-threaded builds in tests
2022-05-05 14:42:36 -04:00
Ayaz Hafiz
89757dc31f
Remove MonoProblem
2022-04-28 20:34:04 -04:00
Ayaz Hafiz
9dac9e4bc2
Coalesce
2022-04-28 20:34:03 -04:00
Ayaz Hafiz
7ec14ab76f
Fix test
2022-04-28 20:33:48 -04:00
Folkert de Vries
0dd04787fd
Merge pull request #2972 from rtfeldman/exhaustiveness-bugs
...
exhaustiveness bug tests
2022-04-28 23:48:51 +02:00
Ayaz Hafiz
9429e50814
Test for 2778
...
Closes #2778
2022-04-28 16:06:51 -04:00
Folkert
622c6f3248
Merge remote-tracking branch 'origin/trunk' into scope-smarter-storage
2022-04-27 19:45:09 +02:00
Jared Cone
443efc4eb8
Handle ListEnd error
2022-04-27 05:57:01 -07:00
Richard Feldman
6da39aa296
Merge pull request #2917 from rtfeldman/move-exhaustiveness-checking
...
Moves exhaustiveness checking to type solving phase
2022-04-25 20:55:05 -04:00
Ayaz Hafiz
fe8eb38d89
Catch non-exhaustive open unions
2022-04-25 19:04:10 -04:00
Ayaz Hafiz
85e3373d8b
Move exhaustiveness checking to type checking
2022-04-25 19:04:09 -04:00
Richard Feldman
85e7969c2d
Replace references to "global tag" with "tag"
2022-04-25 17:04:34 -04:00
Ayaz
e736adaa24
Merge pull request #2952 from rtfeldman/ability-unused-method-reporting
...
Ability unused method reporting
2022-04-25 15:53:06 -04:00
Folkert
6028507dff
Merge remote-tracking branch 'origin/trunk' into scope-smarter-storage
2022-04-25 21:33:20 +02:00
Folkert
a0d688bfb7
stop reporting unused ability members
2022-04-25 20:45:54 +02:00
Ayaz
ccaddcebbb
Merge branch 'trunk' into remove-private-tags
2022-04-25 13:14:42 -04:00
Ayaz Hafiz
f1dc9c8298
Opaques take @ : %s/\$\([A-Z]\)/@\1/g
2022-04-25 12:26:38 -04:00
Ayaz
53c8dee4ed
Merge pull request #2926 from rtfeldman/matrix-correct-mutual-type-alias
...
Matrix correct mutual type alias
2022-04-25 11:19:59 -04:00