Commit graph

58 commits

Author SHA1 Message Date
Folkert
da4c4c5628
move expect formatting into reporting 2022-07-25 23:49:17 +02:00
Folkert de Vries
d212dffa1a
Merge pull request #3616 from rtfeldman/i3614
Compile branches in the presence of degenerate patterns
2022-07-25 19:45:36 +02:00
Richard Feldman
d2dd4f3e0b
Update reporting snapshot 2022-07-24 19:16:48 -04:00
Richard Feldman
d4f192ffd6
Change "an when" to "a when" in error message 2022-07-24 19:15:51 -04:00
Ayaz Hafiz
cb42d9b076
Remove subsumed test 2022-07-24 16:11:05 -04:00
Ayaz Hafiz
e15278024a
Add no-introduced-variables test for toplevel defs 2022-07-24 16:11:05 -04:00
Ayaz Hafiz
0de32ac5a9
Warn on definitions that introduce no new variables 2022-07-24 16:11:04 -04:00
Ayaz Hafiz
beccc92c87
Support underscores in assignment patterns 2022-07-24 16:11:03 -04:00
Ayaz Hafiz
569e90d682
Fix test change due to underscore parsing in patterns 2022-07-24 16:10:36 -04:00
Ayaz Hafiz
639fcb076b
Add test for using only underscore as identifier name 2022-07-24 16:10:35 -04:00
Ayaz Hafiz
59ab1da83f
Compile branches in the presence of degenerate patterns
Closes #3614
2022-07-22 18:16:02 -04:00
Ayaz Hafiz
1d4e6acd41
Add test for when catchall branches are on different branches 2022-07-22 12:57:27 -04:00
Ayaz Hafiz
13b0ce7ca0
Make sure to apply "is-open" constraints at the very end of pattern constraining
Closes #3298
2022-07-22 12:57:27 -04:00
Richard Feldman
b7d78d9237
Merge pull request #3598 from rtfeldman/i3558
Compile variables bound in multiple patterns of a branch, and detect unbound patterns
2022-07-21 16:45:52 -04:00
Ayaz Hafiz
78dc82867a
Report errors for identifiers not bound in all patterns of a branch 2022-07-21 12:15:05 -04:00
Richard Feldman
a0237d6aa3
Revise unexpected pattern report 2022-07-20 10:49:06 -04:00
Richard Feldman
55b86f3fe2
Update a test to use new wording 2022-07-20 10:49:06 -04:00
Richard Feldman
6aaa940ddf
Update reporting tests and snapshots 2022-07-20 10:49:06 -04:00
Richard Feldman
024b0c85f8
Report 'a fraction' instead of 'a frac' 2022-07-20 10:49:05 -04:00
Richard Feldman
e389b23e4b
Update wording on arg mismatch 2022-07-20 10:49:05 -04:00
Ayaz Hafiz
7586a8a083
Check complete ability implementations during canonicalization 2022-07-19 14:30:20 -04:00
Ayaz Hafiz
37ab06b0a3
Reject implementations that don't point to abilities 2022-07-19 14:30:19 -04:00
Ayaz Hafiz
e4af8af1a3
Report duplicate implementations for ability members 2022-07-19 14:30:19 -04:00
Ayaz Hafiz
d2da395619
Syntactic ability links in solve 2022-07-18 18:33:28 -04:00
Ayaz Hafiz
17f53a23a5
Update tests 2022-07-18 17:55:02 -04:00
Ayaz Hafiz
c2154ac311
Support shorthand ability implementation syntax 2022-07-18 17:55:01 -04:00
Ayaz Hafiz
870294b564
Update reporting tests 2022-07-18 17:55:01 -04:00
Ayaz Hafiz
e672ce9ebd
First pass at canonicalizing and reporting syntactic abilities 2022-07-18 17:55:01 -04:00
Richard Feldman
ef1daf0f05
Add failing reporting test for ability_member_not_defined 2022-07-18 17:55:00 -04:00
Folkert
b9ebd4fa27 Merge remote-tracking branch 'origin/trunk' into pretty-expect-output 2022-07-15 09:12:04 +02:00
Folkert de Vries
1b1b63aad0
Merge branch 'trunk' into assoc-list-dict 2022-07-14 16:47:50 +02:00
Ayaz
a9243720da
Merge pull request #3496 from rtfeldman/derive-w-mono
Monomorphize and compile derived implementations
2022-07-14 07:45:21 -05:00
Folkert
06938429a1
Merge branch 'assoc-list-dict' into pretty-expect-output 2022-07-14 00:39:01 +02:00
Folkert
5763248b44
Merge remote-tracking branch 'origin/trunk' into assoc-list-dict 2022-07-13 20:44:28 +02:00
Richard Feldman
bf63c45b46
Compute src_dir from original filename
This fixed a bug where bindgen was providing cwd() for src_dir,
but actually the src_dir should have been based on the filename.
This prevents that problem from happening in the future!
2022-07-13 12:49:06 -04:00
Folkert
e921fe6515
add code for rendering the result 2022-07-13 14:57:08 +02:00
Ayaz Hafiz
f7dea48418
Update reporting test 2022-07-13 08:47:41 -04:00
Ayaz Hafiz
3708ed7c90
Remove stale test for inferred encodable type variables 2022-07-13 08:47:40 -04:00
Ayaz Hafiz
df9bcb1a0c
Use Derived_synth for synthesizing implementations, and Derived_gen for codegen 2022-07-13 08:47:39 -04:00
Ayaz Hafiz
9a01117536
Fix compile errors 2022-07-13 08:47:37 -04:00
Ayaz Hafiz
d8bee6cd18
Perfom derives from global derives module, not just symbol table 2022-07-13 08:47:36 -04:00
Folkert
cbd6052dbb
fix dict/set not being in scope 2022-07-13 14:04:38 +02:00
Ayaz Hafiz
f1a6ea6a40
Typecheck and compile opaque wrapping functions
This enables you to write something like

```
A := U8
List.map [1, 2, 3] @A
```

which will be compiled as if it was `List.map [1, 2, 3] \x -> @A x`.

Closes #3499
2022-07-12 18:38:03 -04:00
Folkert de Vries
f1aae6f480
Merge pull request #3476 from rtfeldman/i3469
Remove more builtins code
2022-07-10 23:06:50 +02:00
Ayaz Hafiz
1acc6434ae
Remove add_aliases 2022-07-10 10:46:58 -04:00
Ayaz Hafiz
b04f704b99
Remove constrain_builtin_imports 2022-07-10 10:46:18 -04:00
Ayaz Hafiz
98287e7670
Remove imported_builtins from load 2022-07-10 10:41:06 -04:00
Richard Feldman
f45e3dbb46
Fix tests 2022-07-08 18:16:08 -04:00
Ayaz Hafiz
e118573896
Add test to check structural recursion vars cannot leak into opaques 2022-07-08 15:31:44 -04:00
ayazhafiz
161d6b45f2
Stray dbg 2022-07-05 22:30:34 -04:00