Richard Feldman
d391982c33
Apply tag union diffs to recursive tag unions
2023-03-26 23:19:50 -04:00
Richard Feldman
389ec09451
Show ellipses for tag payload slots of same types
2023-03-26 21:43:13 -04:00
Richard Feldman
3013b9e113
Fix reporting edge case where both unions are open
2023-03-26 14:50:27 -04:00
Richard Feldman
21e14589b0
Update tests
2023-03-26 11:49:45 -04:00
Richard Feldman
ae906ca7b3
Improve tag union diffs
2023-03-26 10:01:05 -04:00
Ayaz
1891df77b8
Merge pull request #5188 from roc-lang/i5177
...
Make sure openness constraint goes under tuples
2023-03-25 15:52:09 -05:00
Ayaz Hafiz
1b2ee9ad30
Make sure openness constraint goes under tuples
...
Closes #5177
2023-03-24 14:13:14 -05:00
Ayaz Hafiz
f4f9ae7a5d
Implement obligation checking of tuples for all abilities
2023-03-22 10:03:01 -05:00
Richard Feldman
47dd461a4a
Merge pull request #5048 from Arkham/improve-same-name-grammar
...
Use 'by accident' instead of 'on accident'
2023-03-08 11:26:48 -05:00
Brendan Hansknecht
f42f61e271
run a toml formatter and then clean it up a bit
2023-03-06 19:47:57 -08:00
Brendan Hansknecht
4a89bee0a5
centralize package versions except for vendor and excluded
2023-03-06 19:29:09 -08:00
Brendan Hansknecht
5485c8a5b0
update to using workspace package spec
2023-03-06 16:36:18 -08:00
Ju Liu
dfeabc5933
Use 'by accident' instead of 'on accident'
2023-02-18 15:42:34 +00:00
Ayaz
9340a67e87
Merge pull request #4993 from joshuawarner32/tuple-gen-tuple-backend-experiment
...
Implement mono / code generation for tuples
2023-02-08 10:42:51 -05:00
Joshua Warner
3fee0d3e8f
Fix a bunch of bugs in parsing/formatting found by fuzzing
2023-02-07 20:25:56 -08:00
Joshua Warner
5a6be05ead
implement mono / lowering for tuples
2023-02-07 18:54:50 -08:00
Ayaz Hafiz
009607c55a
Handle FunctionOrTagUnion types in exhaustiveness checking
...
We should treat FunctionOrTagUnion types as tag unions for the purposes
of exhautiveness checking.
Closes #4994
2023-02-01 22:03:10 -06:00
Joshua Warner
31a4eb2bfd
Fix parsing of tuple accessors after an identifier - e.g. myIdent.2
2023-01-30 21:12:01 -08:00
Ayaz Hafiz
9d62fa96ef
Fix spacing
2023-01-27 17:18:36 -06:00
Ayaz Hafiz
572a666780
No Encode/Decode for Nat
2023-01-27 17:16:10 -06:00
Joshua Warner
de828416bf
Initial implementation of tuples in type checking
...
This leaves in place a bunch of TODOs and likely many bugs - notably, I haven't tested codegen/layout at all here.
2023-01-22 12:40:44 -08:00
Ayaz Hafiz
2f74d0b1b9
Do not permit inferred-open-in-output-position extension variables to grow
...
Closes #4852
Closes #4845
2023-01-16 10:54:38 -06:00
Ayaz Hafiz
b8712bcb30
Weaken records in let-bindings
...
This change also means we must update the interface of `Dict.empty` and
`Set.empty` from
```
Dict.empty : Dict k v
```
to
```
Dict.empty : {} -> Dict k v
```
2023-01-14 15:33:51 +01:00
Folkert de Vries
e3a213c0dc
Merge pull request #4882 from roc-lang/weakening-3
...
Begin weakening let-bindings to non-function, non-number expressions
2023-01-14 15:32:27 +01:00
Richard Feldman
8ac0d3b493
Fix unused var in release builds
2023-01-13 03:23:42 -05:00
Richard Feldman
eaf8ce6c08
Add a debug_assert! about tag union polarity
2023-01-12 16:22:35 -05:00
Richard Feldman
e291e0ee99
Combine some match
branches
2023-01-12 16:21:33 -05:00
Richard Feldman
717350ef9e
FlexAbleVar sets should be equal if the vars are.
2023-01-12 16:20:36 -05:00
Richard Feldman
63161b5330
Remove a debug print
2023-01-12 16:16:50 -05:00
Ayaz Hafiz
b2cdddbdfb
Weaken lists
2023-01-12 10:02:20 -06:00
Richard Feldman
29f61dcfec
Update some reporting snapshots
2023-01-11 23:59:43 -05:00
Richard Feldman
f959db588c
Show ellipses on single-field record diffs
2023-01-11 23:58:22 -05:00
Richard Feldman
863c39be54
Fix typo in variable name
2023-01-11 23:54:20 -05:00
Richard Feldman
f3a65e5799
Fix single-line record type formatting
2023-01-11 23:54:05 -05:00
Richard Feldman
d47a4e24d3
Initialize counter to 0, not 1
2023-01-11 23:53:27 -05:00
Richard Feldman
92f94a00b4
Render ellipses in a different color
2023-01-11 23:18:54 -05:00
Richard Feldman
d9a582e447
Render { … } types on the same line
2023-01-11 23:18:54 -05:00
Richard Feldman
dc8eb81bb2
Omit more unnecessary fields from record diffs
2023-01-11 23:18:53 -05:00
Richard Feldman
148119c6b4
Don't report how many fields were omitted.
2023-01-11 23:18:53 -05:00
Richard Feldman
1787d0c679
Report how many record fields were omitted
2023-01-11 23:18:53 -05:00
Richard Feldman
59208ffc40
Omit record fields from diff if they're identical
2023-01-11 23:18:53 -05:00
Richard Feldman
e7466c9485
Rename traverse to diff_args
2023-01-11 23:18:53 -05:00
Richard Feldman
bc14855c59
Report multi-field record types as multiline
2023-01-11 23:18:52 -05:00
Folkert de Vries
d8b2ff07f8
Merge pull request #4802 from roc-lang/valgrind-unit-tests
...
Valgrind unit tests
2023-01-11 19:45:28 +01:00
Joshua Warner
94070e8ba6
Improve parsing of scalar literals
...
* Unify parsing of string literals and scalar literals, to (e.g.) ensure escapes are handled uniformly. Notably, this makes unicode escapes valid in scalar literals.
* Add a variety of custom error messages about specific failure cases of parsing string/scalar literals. For example, if we're expecting a string (e.g. a package name in the header) and the user tried using single quotes, give a clear message about that.
* Fix formatting of unicode escapes (they previously used {}, now correctly use () to match roc strings)
2023-01-07 15:12:52 -08:00
Joshua Warner
0da50a612d
Be more lenient with required indentation in collections
...
... and also remove a bunch of now-dead errors that can't be triggered.
2023-01-01 17:49:51 -08:00
Folkert
32e3f01a28
refactor printing error counts
2022-12-30 14:30:08 +01:00
Folkert
92da3973e7
remove argument from load_and_typecheck
2022-12-29 16:50:19 +01:00
Folkert
439befcc38
run cargo fmt
2022-12-23 17:19:54 +01:00
Lunarmagpie
f932bb66a0
Add function binding to error message
2022-12-23 11:07:57 -05:00