Commit Graph

2213 Commits

Author SHA1 Message Date
Ayaz
cb61f51814
Merge pull request #4441 from roc-lang/can-list-patterns
Canonicalization + Constraining of list patterns
2022-11-01 09:13:08 -05:00
Anton-4
05d48ec5d4
fixed macos retry zig 2022-11-01 09:32:36 +01:00
Richard Feldman
0980d2d357
Add Problem::region 2022-11-01 00:23:54 -04:00
Richard Feldman
4ace05ea5d
Revert "Start attempting to offset parse error regions"
This is going to be a bigger project than I want to take on right now.

This reverts commit 3304f37b78.
2022-10-31 23:25:32 -04:00
Richard Feldman
3304f37b78
Start attempting to offset parse error regions 2022-10-31 23:25:24 -04:00
Richard Feldman
50d9755758
Merge pull request #4429 from austinclem1/main
add missing indent when formatting single-quoted char in pattern
2022-10-31 17:56:06 -07:00
Richard Feldman
220c362671
Merge remote-tracking branch 'origin/main' into repl 2022-10-31 20:49:28 -04:00
Richard Feldman
5e00522a47
Merge pull request #4443 from joshuawarner32/move-min_indent-to-parse-pr
Refactor Parser trait to pass min_indent
2022-10-31 17:46:05 -07:00
Ayaz Hafiz
9ab5d0efb8
Constraining of list patterns 2022-10-31 17:05:08 -05:00
Ayaz Hafiz
b0a8b85de3
Canonicalization of list patterns 2022-10-31 17:04:47 -05:00
Anton-4
4ec43d9964
Closes #4423, link build command refactoring 2022-10-31 21:32:38 +01:00
Joshua Warner
07be8ec000
Refactor Parser trait to pass min_indent
This removes the need to explicitly pass thru min_indent when using the parser combinators.

My ultimate goal here is to evolve the current parser closer toward a purely combinator-based parser,
at which point we can more easily transition smoothly to a formal(ish) grammar, or expand the meanings of combinators
to include things like:
* Incremental (re)parsing
* Unified parsing and formatting code
* Better error recovery
* Using the main parser directly for syntax highlighting
2022-10-31 13:31:47 -07:00
Ayaz Hafiz
5e891a3501
Add comment on when heuristic can be removed 2022-10-31 09:48:25 -05:00
Ayaz Hafiz
04e8e26faf
Fix env var typo 2022-10-31 09:46:07 -05:00
Ayaz Hafiz
bb02104436
Fix typo 2022-10-31 09:44:22 -05:00
Ayaz Hafiz
b3956569a6
Add comment on inlining 2022-10-31 09:43:28 -05:00
Ayaz Hafiz
07f5d0c7fd
Clarify TODO 2022-10-31 09:39:29 -05:00
Ayaz Hafiz
a526fd92aa
inferred extension vars are material if they're not flex or empty 2022-10-31 09:38:22 -05:00
Ayaz Hafiz
4f367e2608
Clippers lose to the Thunder, I lose to Clippy 2022-10-31 09:38:22 -05:00
Ayaz Hafiz
9854f5f2ac
Print alias's underlying structures if OIOP vars are material 2022-10-31 09:38:22 -05:00
Ayaz Hafiz
e1b6e0334b
Generate OIOP vars correctly 2022-10-31 09:38:22 -05:00
Ayaz Hafiz
bedb26124d
Update load tests 2022-10-31 09:38:21 -05:00
Ayaz Hafiz
debe6332c5
Support OIOP for type aliases 2022-10-31 09:38:21 -05:00
Ayaz Hafiz
aa8a7b1ebc
Less aggressive inlining in debug builds
Being too aggressive about inlining in debug builds can result in huge
stack frames building up when inlined functions are contained in
non-tail-recursive, non-inlined function calls. This easily hits stack
overflows, so avoid it.
2022-10-31 09:38:21 -05:00
Ayaz Hafiz
91dd47c5e4
Store OIOP variables in a unique buffer 2022-10-31 09:38:21 -05:00
Ayaz Hafiz
cfe7c8e5ef
Warn on the presence of unnecessary wildcards in output positions 2022-10-31 09:38:20 -05:00
Ayaz Hafiz
d55dbbf0ae
Update load test to work around constraining bug 2022-10-31 09:37:41 -05:00
Ayaz Hafiz
85e58440de
Allow too many args 2022-10-31 09:37:41 -05:00
Ayaz Hafiz
8d5678151d
Implement open-in-output-position for non-alias type annotations 2022-10-31 09:37:41 -05:00
Ayaz Hafiz
ec4285c1dd
Work around constraining bug in gen test 2022-10-31 09:37:41 -05:00
Ayaz Hafiz
42058c3067
Add note on bug in constraining 2022-10-31 09:37:41 -05:00
Ayaz Hafiz
e7c7eb623e
Fail builds if builtins have type errors 2022-10-31 09:37:41 -05:00
Ayaz Hafiz
bb1f4cd5e8
Fix bug in closing heuristic 2022-10-31 09:37:40 -05:00
Ayaz Hafiz
7b9ce492c3
Better estimate polarity in exhaustiveness checking 2022-10-31 09:37:40 -05:00
Ayaz Hafiz
69114cc820
Apply a heuristic for opening/closing types before exhaustiveness checking 2022-10-31 09:37:40 -05:00
Ayaz Hafiz
f3623b1e47
Close extension types extended wiht uninhabited types after their extension 2022-10-31 09:37:40 -05:00
Ayaz Hafiz
4d48ea7c2f
Materialize extension variable polarity in error type reporting 2022-10-31 09:37:40 -05:00
Ayaz Hafiz
3c15ff4694
Correctly print wildcards as appropriate in error messages 2022-10-31 09:37:39 -05:00
Ayaz Hafiz
d77080529a
Introduce polarity for extension variable printing 2022-10-31 09:37:39 -05:00
Richard Feldman
fccc2ed497
Update panic message in repl 2022-10-30 13:35:49 -04:00
Richard Feldman
0c8f6a0a72
Fix annotated defs in repl 2022-10-30 13:34:38 -04:00
Richard Feldman
daa87093ca
Don't drop defs that would be shadowed 2022-10-30 12:42:20 -04:00
Richard Feldman
e38ae00c65
Expose macros for joining up AnnotatedBody nodes 2022-10-30 12:36:10 -04:00
Folkert
dbd0d30893
Merge remote-tracking branch 'origin/main' into roc-dev-inline-expects 2022-10-30 15:57:07 +01:00
Richard Feldman
99f4d99771
Revert "Attempt a refactor, but run into lifetime issues"
This reverts commit 4a9b44aaaf.
2022-10-30 07:22:32 -04:00
Richard Feldman
4a9b44aaaf
Attempt a refactor, but run into lifetime issues 2022-10-30 07:22:31 -04:00
Richard Feldman
e0e25a48bf
Add comment_str 2022-10-30 07:17:10 -04:00
Richard Feldman
e93d9b81d8
Report repl compile errors as bugs 2022-10-30 03:19:47 -04:00
Richard Feldman
9ed13eb97b
Don't panic when repl code crashes 2022-10-30 03:14:46 -04:00
Richard Feldman
0190787f7b
Revert "send panics to the repl more gracefully"
Now doesn't seem like the right time to do a change this invasive.

This reverts commit a36ddbf6cb.
2022-10-30 03:12:53 -04:00
Richard Feldman
a36ddbf6cb
WIP send panics to the repl more gracefully 2022-10-30 03:12:41 -04:00
Anton-4
499177736c
Merge branch 'main' of github.com:roc-lang/roc into windows-tests 2022-10-29 16:58:21 +02:00
Anton-4
fda3b44315
windows flake is different than on macos 2022-10-29 16:57:32 +02:00
Anton-4
b1fff17730
fix typo
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2022-10-29 16:32:38 +02:00
Anton-4
4ce978a7c0
fix typo
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2022-10-29 16:31:36 +02:00
Anton-4
ddcb5d3742
add flaky windows error
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2022-10-29 16:30:06 +02:00
Austin Clements
5d19d28e56 formatting 2022-10-28 18:13:03 -05:00
Folkert de Vries
9f62e65892
Merge pull request #4406 from roc-lang/windows-effect-loop
Windows effects.roc
2022-10-29 00:29:35 +02:00
Austin Clements
ec81ce5ebc add test for formatter: single-quoted char pattern 2022-10-28 16:36:24 -05:00
Austin Clements
87041f8cd7 add missing indent when formatting single-quoted char in pattern 2022-10-28 14:49:50 -05:00
Richard Feldman
9f498add60
Reorganize some REPL modules 2022-10-27 18:47:27 -04:00
Richard Feldman
2e873d6a9a
Add linked_list_extra 2022-10-27 18:46:15 -04:00
Richard Feldman
67a8bbd6a2
Merge pull request #4414 from roc-lang/i4412
Parse and format list patterns
2022-10-26 19:49:12 -07:00
Richard Feldman
c894d522c3
Drop some commented-out lines
Signed-off-by: Richard Feldman <oss@rtfeldman.com>
2022-10-26 22:48:37 -04:00
Richard Feldman
93c6b65a4d
Merge pull request #4409 from roc-lang/parse-single-def
Extract parse_single_def
2022-10-26 19:44:35 -07:00
Richard Feldman
719387bb0a
Merge pull request #4387 from lukewilliamboswell/std-lib-bool
updated docs for Bool.roc
2022-10-26 19:43:51 -07:00
Richard Feldman
9d5705146d
Merge pull request #4392 from lukewilliamboswell/std-docs-box-and-dict
updating docs for Box and Dict
2022-10-26 19:39:44 -07:00
Ayaz Hafiz
89867a4dc5
Add parsing error reporting for list patterns 2022-10-26 18:05:52 -05:00
Ayaz Hafiz
9bb523ce97
Format list patterns 2022-10-26 17:08:10 -05:00
Ayaz Hafiz
4d35ab9957
Parse list patterns 2022-10-26 17:03:22 -05:00
Richard Feldman
40498d71c3
clip clap clorp 2022-10-26 16:11:30 -04:00
Folkert de Vries
02a76bb8bd
Merge pull request #4399 from roc-lang/no-types-in-constraining-api
Have most constraining APIs take a type index rather than `Type`
2022-10-26 19:45:55 +02:00
Richard Feldman
c748d88c0d
Fix typo in docs 2022-10-26 13:44:13 -04:00
Richard Feldman
785e0d5ef6
Revise things to be more concise 2022-10-26 13:44:13 -04:00
Richard Feldman
9b19ed8b3b
Refactor out Next 2022-10-26 13:44:12 -04:00
Richard Feldman
a1104ce5fa
Refactor out Next::Fixup 2022-10-26 13:44:12 -04:00
Richard Feldman
107f37219f
Document Fixup 2022-10-26 13:44:12 -04:00
Richard Feldman
131c4b2bb1
Extract parse_single_def 2022-10-26 13:44:12 -04:00
Ayaz
316ae7d30b
Merge pull request #4398 from roc-lang/emplace-type-variables
Leave variables behind when converting `Type`s to variables
2022-10-26 12:41:55 -05:00
Folkert
bb19644d40
make inc/dec private on non-windows 2022-10-26 16:47:12 +02:00
Folkert
38d7e57248
make refcounting functions link as External 2022-10-26 16:41:20 +02:00
Folkert
52404a4085
fix wrong flag passed to zig 2022-10-26 16:31:20 +02:00
Anton-4
64ae063022
strip debug before sha 2022-10-25 18:08:14 +02:00
Luke Boswell
90a9103413
fix doc comments examples breaking tests 2022-10-25 21:20:00 +11:00
Luke Boswell
344ffc5542
fix the formatting for CI 2022-10-25 19:28:49 +11:00
Luke Boswell
d4d654f850
add spaces to doc comments to format correctly when rendered 2022-10-25 19:24:32 +11:00
Anton-4
c7e46df57d
minor corrections
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2022-10-25 10:00:33 +02:00
Anton-4
d342815494
add space
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2022-10-25 10:00:09 +02:00
Luke Boswell
01da174c2f
Merge remote-tracking branch 'upstream/main' into std-docs-box-and-dict 2022-10-25 18:15:14 +11:00
Luke Boswell
3d2bdff0e1
adding more descriptions for Dict.roc 2022-10-25 18:09:00 +11:00
Luke Boswell
74a337d508
updated description for Boxing from Zulip discussion 2022-10-25 17:20:27 +11:00
Luke Boswell
dc77e9a6cd
formated Bool.roc for CI 2022-10-25 17:07:34 +11:00
Richard Feldman
9bb45f5856
Merge pull request #4381 from roc-lang/windows-rust-platforms
Windows rust platforms
2022-10-24 18:27:26 -07:00
Ayaz Hafiz
a4d7ee33c1
Apply lints 2022-10-24 18:23:36 -05:00
Ayaz Hafiz
084393c326
store_index is now redundant 2022-10-24 18:21:05 -05:00
Ayaz Hafiz
bff3d534f6
Store expects type index 2022-10-24 18:20:18 -05:00
Ayaz Hafiz
278754506f
lookup expects type index 2022-10-24 18:14:28 -05:00
Ayaz Hafiz
97d47cc05f
includes_tag expects type index 2022-10-24 18:08:45 -05:00
Ayaz Hafiz
556222caa1
is_open_type expects type index 2022-10-24 17:51:39 -05:00
Ayaz Hafiz
0f0c02965a
pattern_presence expects type index 2022-10-24 17:49:02 -05:00
Ayaz Hafiz
0990eda0cb
equal_pattern_types takes type index 2022-10-24 17:41:13 -05:00
Ayaz Hafiz
c53e08f63c
equal_types_with_storage takes type index 2022-10-24 17:35:09 -05:00
Ayaz Hafiz
cca5f53e98
equal_types_var requires a type index 2022-10-24 17:30:04 -05:00
Ayaz Hafiz
91eb9aaea4
Rename variables 2022-10-24 14:30:50 -05:00
Ayaz Hafiz
83e35fa40d
Get rid of another clone 2022-10-24 14:29:05 -05:00
Ayaz Hafiz
0b8ac07287
Get rid of more type clones 2022-10-24 14:25:19 -05:00
Ayaz Hafiz
7c3fe5bc44
Remove some type clones 2022-10-24 14:11:53 -05:00
Ayaz Hafiz
55d7f3f658
Require type and expected indices in equal_types constraints 2022-10-24 14:05:19 -05:00
Ayaz Hafiz
1f498b52d5
Better name solve test 2022-10-24 14:02:38 -05:00
Ayaz Hafiz
fc6f7d2613
Basic support for multi-ability docs 2022-10-24 14:00:46 -05:00
Ayaz Hafiz
1053c11907
Basic formatting of multi-abilities 2022-10-24 14:00:46 -05:00
Ayaz Hafiz
0642952d05
Remove some resolved todos 2022-10-24 14:00:46 -05:00
Ayaz Hafiz
66e75b8660
Simplify instantiation of bound able variables in non-delayed aliases 2022-10-24 14:00:46 -05:00
Ayaz Hafiz
3f5a86ded3
Update ability bindings 2022-10-24 14:00:46 -05:00
Ayaz Hafiz
0da72df5e9
Add ability slice to eq obligation checker 2022-10-24 14:00:46 -05:00
Ayaz Hafiz
c0257302a9
Address clippy lints 2022-10-24 14:00:45 -05:00
Ayaz Hafiz
152400dea3
Add gen test for multiple ability bounds 2022-10-24 14:00:45 -05:00
Ayaz Hafiz
3bd10698cf
Allow rigid able to unify with flex able when rigid bounds are a superset 2022-10-24 14:00:45 -05:00
Ayaz Hafiz
0a96a93a67
Add test for inferring multiple ability bounds 2022-10-24 14:00:44 -05:00
Ayaz Hafiz
46b741e9dd
Correctly clone able vars across subs 2022-10-24 13:59:52 -05:00
Ayaz Hafiz
9c88534758
Obligation checking layers on extra abilities bound to a variable 2022-10-24 13:59:52 -05:00
Ayaz Hafiz
db7fe48d1c
Merge muliple abilities bound to flex var 2022-10-24 13:59:52 -05:00
Ayaz Hafiz
49e19d96e5
Print multiple abilities in error types 2022-10-24 13:59:52 -05:00
Ayaz Hafiz
94fc58a508
Pretty-print variables bound to multiple abilities 2022-10-24 13:59:52 -05:00
Ayaz Hafiz
4541b41f7b
Revert VecSet-related changes 2022-10-24 13:59:51 -05:00
Ayaz Hafiz
1e6181d2cb
New data structure for storing sorted abilities bound to a variable 2022-10-24 13:59:51 -05:00
Ayaz Hafiz
229548571b
Represent "able" variables with slices of abilities 2022-10-24 13:59:51 -05:00
Ayaz Hafiz
0f0678ce73
s/closure_names/symbol_names/g in subs 2022-10-24 13:59:51 -05:00
Ayaz Hafiz
2011ec97c3
Store multiple abilities as a VecSet 2022-10-24 13:59:51 -05:00
Ayaz Hafiz
603160dae3
Report errors for duplicate bound abilities 2022-10-24 13:59:50 -05:00
Ayaz Hafiz
231a72f2ee
Insert first ability correctly in the parser 2022-10-24 13:56:07 -05:00
Ayaz Hafiz
6bb97c92b9
Canonicalize multiple abilities bound to a type variable 2022-10-24 13:56:07 -05:00
Ayaz Hafiz
97dbac1631
Add tests for multiple abilities bound to a variable 2022-10-24 13:56:07 -05:00
Ayaz Hafiz
548a235c25
Support parsing multiple abilities in a clause 2022-10-24 13:56:06 -05:00
Ayaz
89f14e73a0
Merge pull request #4358 from roc-lang/derive-opaque-defs
Auto-derive ability implementations for opaques in canonicalization
2022-10-24 13:24:51 -05:00
Ayaz Hafiz
35a4781045
Get rid of redundant references 2022-10-24 13:13:08 -05:00
Ayaz Hafiz
9b24205906
Emplace variables made from types in expectations 2022-10-24 13:11:35 -05:00
Ayaz Hafiz
04a3f1c00e
Use a helper to emplace type cells 2022-10-24 12:07:00 -05:00
Ayaz Hafiz
d3e14550d8
Leave variables behind when converting Types to variables
This is part one of addressing the present issues with emplacing type
directly where type variables should be reused. Now, when an
`Index<Type>` is converted to a variable in solving, we leave the
converted variable in the `Type`'s place. Specifically, we keep an index
to a `Cell<Type>`.

Note that this transformation is only temporary, it will be removed once
we merge this with the `Type` SoA representation, but it is needed in
the meantime as I transform the `Constrain` API to get rid of
type-emplacement.
2022-10-24 11:42:35 -05:00
Folkert
b4878e5550
Merge remote-tracking branch 'origin/main' into roc-dev-inline-expects 2022-10-24 18:39:30 +02:00
Ayaz Hafiz
5164994fb5
Do not attempt to lookup functions in expects
Functions are not useful to print in expect results, because they are
only printed opaquely as `<function>`. Moreover, their transformation to
closure sets during mono can be extremely lossy, up to and including the
elision of symbols for function closure symbols. As such, simply do not
attempt to lookup or print functions referenced in expects.

Closes #4389
2022-10-24 10:28:56 -05:00
Luke Boswell
d85a493abd
adding more docs for Dict.roc 2022-10-24 20:44:00 +11:00
Luke Boswell
9c3666c5e3
increase clarity for order of operations for NOT 2022-10-24 20:06:19 +11:00
Luke Boswell
dc8cdecd05
increase clarity for order of operations in examples 2022-10-24 20:04:15 +11:00
Luke Boswell
f287a77035
fix order of operations in Bool tests on AND 2022-10-24 20:02:37 +11:00
Luke Boswell
dd586d31a5
updating docs for Box and Dict 2022-10-24 20:00:33 +11:00
Luke Boswell
b73401ab52
typo fixes 2022-10-24 18:02:53 +11:00
Luke Boswell
f409387127
updated docs for Bool.roc 2022-10-24 17:56:56 +11:00
Ayaz Hafiz
8ff74465b9
Format Decode.roc 2022-10-23 20:48:07 -05:00
Ayaz Hafiz
89def77f01
Use derived Eq impl for Dict and Set 2022-10-23 20:48:07 -05:00
Ayaz Hafiz
e75f3c3c79
Get rid of MemberImpl::Derived
We don't need this anymore, since derived members become Impls during
canonicalization now!
2022-10-23 20:48:07 -05:00
Ayaz Hafiz
1d885c4ab2
Support deriving Decode for opaques 2022-10-23 20:48:06 -05:00
Ayaz Hafiz
61ba59de07
Even more unneeded allocations 2022-10-23 20:48:06 -05:00
Ayaz Hafiz
e08b613047
Add Decode.mapResult 2022-10-23 20:48:06 -05:00
Ayaz Hafiz
bb8888b115
Make sure we don't report errors for illegal derived bodies, just their decls 2022-10-23 20:48:05 -05:00
Ayaz Hafiz
3f09de7052
Remove unused var 2022-10-23 20:47:43 -05:00
Ayaz Hafiz
59dfc4ab99
Move can-derived bodies to their own module 2022-10-23 20:47:43 -05:00
Ayaz Hafiz
6edab8b7cc
Avoid unneeded allocations 2022-10-23 20:47:43 -05:00
Ayaz Hafiz
c4f9aa6fe6
Add deriving toEncoder for opaques 2022-10-23 20:47:42 -05:00
Ayaz Hafiz
83813afeaf
Derive Eq for opaques 2022-10-23 20:46:56 -05:00
Ayaz Hafiz
40e05d5a00
Add support for deriving Hash for opaques 2022-10-23 20:46:56 -05:00
Ayaz Hafiz
b51816d5ef
Improve documentation and structure of UseDepth 2022-10-23 20:44:04 -05:00
Ayaz Hafiz
ee8e718cc1
Support monomorphic captures of polymorphic expressions in closures
Closes #4349
2022-10-23 20:44:03 -05:00
Folkert
baeb585b45
some fixes for platform linking on windows 2022-10-23 20:05:24 +02:00
Christopher Duncan
a627a47709
Add Dict module to the testing CI 2022-10-23 08:37:59 -04:00
Richard Feldman
f734cc11c2
Merge pull request #4364 from travisstaloch/str-graphemes
Str graphemes
2022-10-22 22:31:50 -07:00
Travis Staloch
c2dbed2ff5
str-graphemes: rework and add some zig tests
- rework strGraphemes() to use a mutable slice and keep track of just
`last_codepoint_len`.
- add zig tests for empty string, ascii, utf8, ascii+utf8+emoji
2022-10-22 19:29:49 -07:00
Prajwal S N
df7e4eea7e
builtin(str): implement Str.graphemes
Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
2022-10-22 19:29:49 -07:00
Folkert de Vries
be624f8bcb
Merge pull request #4359 from roc-lang/i4313
Disallow typing optional fields when required fields are annotated
2022-10-23 01:20:55 +02:00
Folkert de Vries
bcf2fc340d
Merge pull request #4350 from roc-lang/i4348
Use runtime representation of values when building structural eq
2022-10-23 01:19:17 +02:00
Folkert de Vries
4a5c8fd7ae
Merge pull request #4303 from roc-lang/i4291
Make sure self-recursive checks only happen after typechecking
2022-10-23 01:18:56 +02:00
Folkert
ebac056814
Merge remote-tracking branch 'origin/main' into roc-dev-inline-expects 2022-10-21 23:05:34 +02:00
Folkert de Vries
863d0ab63e
Merge pull request #4353 from roc-lang/refine-relocation-location
refine relocation location
2022-10-21 12:16:31 +02:00
Brendan Hansknecht
e27b874331
update test to use HASH_HASH_I* instead of HASH_ADD_I* 2022-10-19 18:22:44 -07:00
Ayaz Hafiz
f826ff1a71
Remove addI* variants from Hash
These are trivially fulfilled by converting a signed int to its unsigned
repr and hashing that.
2022-10-19 14:24:21 -05:00
Richard Feldman
b6a282b0ce
Merge pull request #4337 from joshuawarner32/when-indentation-1
Allow parsing `when` cases with python-like indentation
2022-10-19 07:03:05 -07:00
Joshua Warner
e39a385f5f
Allow parsing when cases with python-like indentation 2022-10-18 19:13:20 -07:00
Folkert de Vries
e90ddcd7d1
Merge pull request #4354 from roc-lang/var-has-variable
Resolve ability specializations looked up in expects
2022-10-18 23:28:17 +02:00
Ayaz Hafiz
05e8e6de6f
Disallow typing optional fields when required fields are annotated
Closes #4313
2022-10-18 15:50:20 -05:00
Brendan Hansknecht
62c9a2a8b6
Merge pull request #4355 from roc-lang/concat-memleak
Fix memory leak in List.concat
2022-10-18 19:07:52 +00:00
Ayaz Hafiz
d7237dc9e9
Cargo format 2022-10-18 12:09:18 -05:00
Folkert
b23b53aa6f
disable -fPIE on windows 2022-10-18 18:45:38 +02:00
Ayaz Hafiz
706d22a942
Fix encode/decode deriving 2022-10-18 08:22:23 -05:00
Anton-4
6b294bed81
Merge branch 'main' into benchmarks-to-nix
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2022-10-18 13:43:09 +02:00
Brendan Hansknecht
9f09bebdca
run 2022-10-17 21:50:25 -07:00
Brendan Hansknecht
1225cb54fc
Fix memory leak in List.concat 2022-10-17 21:45:46 -07:00
Ayaz Hafiz
2a21cd8c6e
Resolve ability specializations looked up in expects 2022-10-18 01:04:21 +02:00
Ayaz Hafiz
185795a8ee
Add symbols' localized type variable to the AST 2022-10-18 01:04:17 +02:00
Ayaz Hafiz
d26e9c81e0
Resolve ability specializations looked up in expects 2022-10-17 17:56:48 -05:00
Ayaz Hafiz
8aee32830a
Add symbols' localized type variable to the AST 2022-10-17 17:35:48 -05:00
Folkert
d93902cd18
fix compilation on windows for windows 2022-10-17 21:22:13 +02:00
Ayaz Hafiz
7986514d20
Use runtime representation of values when building structural eq
Closes #4348
2022-10-17 11:36:57 -05:00
Anton-4
54ad5d3416
moved benchmarks to nix 2022-10-17 17:40:35 +02:00
Prajwal S N
07224e9086
builtin(list): add List.walkFrom, List.walkFromUntil
Signed-off-by: Prajwal S N <prajwalnadig21@gmail.com>
2022-10-17 20:51:03 +05:30
Ayaz Hafiz
3d34de5fc1
Remove test caught by reporting tests 2022-10-17 09:59:34 -05:00
Ayaz Hafiz
ecab8fa25a
Make sure self-recursive checks only happen after typechecking
Programs like

```
after : ({} -> a), ({} -> b) -> ({} -> b)

fx = after (\{} -> {}) \{} -> if Bool.true then fx {} else {}
```

are legal because they always decay to functions, even if they may not
look like functions syntactically. Rather than using a syntactic check
to check for illegally-recursive functions, we should only perform such
checks after we know the types of values.

Closes #4291
2022-10-17 09:59:32 -05:00
Folkert
92afe5a46e
add case to emit wasm via llvm 2022-10-16 17:02:23 +02:00
Folkert
82ca7fc8c5
an attempt to fix the repl tests 2022-10-16 15:56:24 +02:00
Folkert
323210c547
Merge remote-tracking branch 'origin/main' into roc-dev-inline-expects 2022-10-16 13:56:30 +02:00
Anton-4
d6885bde23
Merge pull request #4299 from cjduncana/ci-markdown-links
Repair broken links in Markdown
2022-10-15 19:32:25 +02:00