Commit graph

255 commits

Author SHA1 Message Date
Ayaz Hafiz
ac752adc7c
Check in some more work 2022-09-16 16:09:21 -05:00
Jan Van Bruggen
431455dd1b
Rephrase web/terminal-related "platform" to "environment" 2022-09-11 10:25:02 -06:00
Ayaz Hafiz
d016d5eeb9
Refine message 2022-08-23 10:39:51 -05:00
Ayaz Hafiz
92ce0c0662
Fix opaque typo 2022-08-23 10:39:51 -05:00
Ayaz Hafiz
e77e53f37b
Enable optional record field underivable error 2022-08-23 10:39:51 -05:00
Ayaz Hafiz
55fe1df995
Add more context to derivability errors when they happen 2022-08-23 10:39:50 -05:00
Ayaz Hafiz
b30c90b500
Don't suggest removing variable when it's bound in a branch pattern
Instead, suggest prefixing it with an underscore, or replacing with an
underscore.

Closes #3820
2022-08-19 22:21:44 -05:00
Richard Feldman
97e2900bf5
s/rtfeldman/roc-lang/g in links to GitHub repos 2022-08-12 15:24:09 -04:00
Folkert de Vries
0798f787c5
Merge pull request #3736 from rtfeldman/i3687
Creation of a record whose type has an optional value is an error
2022-08-11 15:51:41 +02:00
Folkert
5b10ebeeb7
Merge remote-tracking branch 'origin/trunk' into i2453 2022-08-11 10:44:26 +02:00
Ayaz Hafiz
af19df1a0a
Include optional/required mismatch for rigid optionals 2022-08-10 20:24:19 -07:00
Ayaz Hafiz
81bb889e93
Add RigidOptional record field variant 2022-08-10 20:24:18 -07:00
Ayaz Hafiz
fdb79da5a8
Report anonymous functions as "this function" rather than symbol name
Closes #2453

Thanks for the assist @chris-packett
2022-08-10 15:26:52 -07:00
Ayaz Hafiz
d2015d51f2
Print all argument in tags when their argument lengths mismatch
Closes #3553
2022-08-09 12:46:53 -07:00
Ayaz Hafiz
8c87ae50c9
Wrap applied types in parens as appropriate 2022-08-09 12:31:01 -07:00
Ayaz Hafiz
36969f0720
Print all derivable abilities 2022-08-02 14:31:17 -05:00
Ayaz Hafiz
b87f09115c
Report opaques as opaques, not aliases
Closes #3313
Closes #3654
2022-08-01 08:02:56 -05:00
Ayaz Hafiz
0989b2cb82
Move solve problems to their own crate 2022-07-28 08:57:32 -04:00
Folkert de Vries
01eb161ffe
Merge pull request #3637 from rtfeldman/can-abilities4
Syntactic abilities: Part 4 - simplify obligation solving procedure
2022-07-28 11:32:11 +02:00
Folkert de Vries
21fe0ca559
Merge pull request #3639 from rtfeldman/expect-lists
Tests for expect output
2022-07-28 08:53:58 +02:00
Richard Feldman
c2865e39ff
Fix stack overflow in reporting 2022-07-27 15:22:36 -04:00
Folkert
e19b272a9e
test expect reporting 2022-07-27 13:51:12 +02:00
Richard Feldman
fa5bd442f8
Merge pull request #3635 from rtfeldman/joshuawarner32/multiline
Strip indents and the first/last newline from multiline strings
2022-07-26 22:09:58 -04:00
Ayaz Hafiz
6b9c1cb690
Check whether opaque implements ability using store 2022-07-26 20:46:35 -04:00
Ayaz Hafiz
8659ddc684
Remove dominated derive errors 2022-07-26 20:46:35 -04:00
Ayaz Hafiz
3703940da9
Report specializations that target the unexpected type 2022-07-26 20:46:34 -04:00
Folkert
1017bbc5ec
use std::io::Write for making expect messages 2022-07-26 20:12:09 +02:00
Folkert
7014fbb5ec
move expect panic formatting to reporting crate 2022-07-26 18:33:43 +02:00
Ayaz
6b6f240acb
Merge pull request #3589 from rtfeldman/can-abilities3
Canonicalize syntactic abilities: Part 3 - solving
2022-07-25 21:48:14 -05:00
Joshua Warner
a579edc6f0 Fix error reporting location for unterminated strings and add test for insufficiently indented multiline strings 2022-07-25 19:07:58 -07:00
Folkert
da4c4c5628
move expect formatting into reporting 2022-07-25 23:49:17 +02:00
Richard Feldman
11ba64c249
Merge pull request #3608 from rtfeldman/more-list-builtins
More `List` builtins
2022-07-25 15:23:45 -04: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
d94f1caa01
Improve a type mismatch message 2022-07-25 19:15:33 +02:00
Ayaz Hafiz
10db3f8574
Detect ability specializations that overload different opaque types 2022-07-25 11:35:20 -04:00
Ayaz Hafiz
6035e45f25
Store derivable ability members statically 2022-07-25 09:09:00 -04:00
Richard Feldman
d4f192ffd6
Change "an when" to "a when" in error message 2022-07-24 19:15:51 -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
59ab1da83f
Compile branches in the presence of degenerate patterns
Closes #3614
2022-07-22 18:16:02 -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
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
c2154ac311
Support shorthand ability implementation syntax 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