Commit graph

7502 commits

Author SHA1 Message Date
Sam Mohr
f95d0f8df6
Update derive tests 2025-01-05 07:34:53 -08:00
Sam Mohr
1e5b16da36
Fix formatting 2025-01-05 06:39:47 -08:00
Sam Mohr
865a399ba2
Merge branch 'main' into auto-snake-case 2025-01-05 05:28:30 -08:00
Sam Mohr
0edbf16d55
More progress 2025-01-05 05:16:47 -08:00
Sam Mohr
b56fbd38e1
Progress on updating entire compiler for snake_case 2025-01-05 03:48:03 -08:00
Anthony Bullard
3295f80c30
Address feedback 2025-01-04 17:01:12 -06:00
Anthony Bullard
a7321e086a
Remove println 2025-01-04 14:35:07 -06:00
Anthony Bullard
a24fe430b4
Support '??' syntax for optional record fields 2025-01-04 14:26:20 -06:00
Sam Mohr
db6cc5a7b1
Don't convert any idents with any underscores 2025-01-04 06:16:13 -08:00
Sam Mohr
db1e0a02b4
Update tests 2025-01-04 05:54:44 -08:00
Sam Mohr
30b8a1407d
Fix broken ability implementation 2025-01-04 05:37:17 -08:00
Anthony Bullard
ee089db748
Remove superfluous println 2025-01-04 06:36:28 -06:00
Sam Mohr
2aac2e01f8
Move builtins to snake_case with auto-case conversion 2025-01-04 03:29:01 -08:00
Luke Boswell
3d4dd5b583
Merge pull request #7439 from imclerran/issue-7425
Add List.walk! function
2025-01-04 15:37:46 +11:00
Anthony Bullard
89b7900d7a
Migrate type vars to snake case (Redo) 2025-01-03 19:52:21 -06:00
Ian McLerran
acf8e33e2a
Merge branch 'main' into issue-7425 2025-01-03 14:00:30 -06:00
Ian McLerran
c360fca87e
update mono tests 2025-01-03 13:58:24 -06:00
Anton-4
2263d8821a
Merge pull request #7421 from gamebox/issue-7415-parens-and-commas
Parens and Commas application syntax
2025-01-03 14:15:40 +01:00
Sam Mohr
786488fc34
Merge pull request #7408 from jaredramirez/jared/improve-module-error
Handle parse error for bad head exposes list
2025-01-03 05:10:07 -05:00
Anthony Bullard
210695ec29
Update can tests with PatternApplyStyle after rebase 2025-01-02 18:11:15 -06:00
Anthony Bullard
a8dd0b8805
Move comment to correct location and make line comment 2025-01-02 17:59:32 -06:00
Anthony Bullard
8690a02d8f
Fix unstable formatting with nested applies 2025-01-02 17:59:12 -06:00
Anthony Bullard
2bb3b84ce7
Clippy 2025-01-02 17:59:12 -06:00
Anthony Bullard
8c77a54b4f
Address review feedback 2025-01-02 17:59:09 -06:00
Anthony Bullard
3b0db07fa1
PNC for Patterns, stabilize formatting 2025-01-02 17:57:15 -06:00
Anthony Bullard
bac165fd99
Make better named arg for fmt_apply using PNC 2025-01-02 16:49:08 -06:00
Anthony Bullard
389cc940e0
Git rid of MigrationFlags constructor 2025-01-02 16:49:08 -06:00
Anthony Bullard
af39ce57fb
Parens and Commas application syntax 2025-01-02 16:49:08 -06:00
Ayaz Hafiz
a0461679dd Restrict usages of type variables in non-generalized contexts
Type variables can only be used on functions (and in number literals as
a carve-out for now). In all other cases, a type variable takes on a
single, concrete type based on later usages. This check emits errors
when this is violated.

The implementation is to check the rank of a variable after it could be
generalized. If the variable is not generalized but annotated as a type
variable, emit an error.
2025-01-02 14:26:37 -06:00
Sam Mohr
21aae74be2
Merge branch 'main' into issue-7425 2025-01-02 12:58:35 -05:00
Ayaz Hafiz
f5961cbb22 Drop debug assert
I don't think this assert is actually accurate.
2025-01-02 00:51:48 -06:00
Sam Mohr
91ed6a5a8e
Merge pull request #7452 from smores56/remove-backpassing
Remove backpassing
2025-01-02 00:51:15 -05:00
Ayaz Hafiz
9df9353f02 Store lambda set variables as flex inference variables
This is actually correct - the rigid approach is not. Lambda set
variables should be inferred in-scope.
2025-01-01 23:39:37 -06:00
Ayaz Hafiz
c3d77b8841 Unify let-introduction in a single path
Remove branches on determining how let-bindings are introduced to the
scope. This is maybe a little more inefficient, but I think it is a huge
simplification.

One additional change this required was changing how fx suffixes are
checked. The current implementation would add additional constraints for
patterns in let bindings conditionally. However, this is unnecessary. I
believe it is sufficient to check the fx suffix by running the checks on
all introduced symbols after the type is well known (i.e. the body is
checked).
2025-01-01 23:39:37 -06:00
Ayaz Hafiz
280d479a24 Store rigid vars with location during constraining 2025-01-01 23:39:37 -06:00
Ayaz Hafiz
38e8e6c59e Bugfix association of inferred-tag-extension variables
These are inferred vars, not rigids.
2025-01-01 23:39:37 -06:00
Brendan Hansknecht
7927de7e41
Merge pull request #7449 from roc-lang/reserve-smarter
if the user reserves a specific number of elements, trust them
2025-01-01 20:51:24 -08:00
Brendan Hansknecht
66c1d5f425
fix perf on x86 2025-01-01 21:19:01 -05:00
Sam Mohr
cbcbfd3265
Remove backpassing 2025-01-01 17:44:56 -08:00
Sam Mohr
b8040bf6a2
Merge pull request #7446 from joshuawarner32/fuzzing-bugs-8
Fix yet more fuzzing bugs!
2025-01-01 18:29:42 -05:00
Brendan Hansknecht
b9832dd6d3
remove unnecessary pub 2025-01-01 14:19:41 -08:00
Brendan Hansknecht
0d800252f3
avoid storing refcount instead load it. That optimizes beter for some reason 2025-01-01 14:03:49 -08:00
Brendan Hansknecht
7e6b004f36
remove unnecessary function nesting 2025-01-01 13:56:54 -08:00
Brendan Hansknecht
78530141a1
fix tests 2025-01-01 13:35:08 -08:00
Brendan Hansknecht
26bd2d437e
if the user reserves a specific number of elements, trust them 2025-01-01 13:00:34 -08:00
Brendan Hansknecht
c6d594a758
cleanup constant refcount checking 2025-01-01 12:28:16 -08:00
Joshua Warner
f721569421
Force newline for multi-line closures where the inner element is not outdentable 2025-01-01 14:59:21 -05:00
Joshua Warner
14d6f7c92a
Fix spaces in the middle of where branches 2025-01-01 14:59:21 -05:00
Joshua Warner
6fcc367af4
Fix where precedence vs apply 2025-01-01 14:59:20 -05:00
Joshua Warner
ea7d856e16
fixup type ann 2025-01-01 14:59:20 -05:00