Agustin Zubiaga
c43ff03e41
Prevent record builder field names from shadowing other symbols
2023-05-16 13:48:41 -03:00
Agustin Zubiaga
232f5fd84c
Take self by value in RecordField::to_* fns
2023-05-13 21:21:12 -03:00
Agustin Zubiaga
4a10ead0e4
Do not use unit for RecordField to_* fn errors
2023-05-13 21:15:54 -03:00
Agustin Zubiaga
f94004d137
Parse builders without backtracking from records
2023-05-13 20:05:42 -03:00
Agustin Zubiaga
71a2990e21
Tip replacing <- with : for static values
2023-05-09 23:37:24 -03:00
Agustin Zubiaga
088193c93b
Fix clippy error
2023-05-08 22:18:56 -03:00
Agustin Zubiaga
9c614540a4
Remove unneeded todo
2023-05-08 21:15:38 -03:00
Agustin Zubiaga
d2a57112fd
Unapplied record builder error
2023-05-08 20:16:38 -03:00
Agustin Zubiaga
6670fbb1ab
Multiple record builder error
2023-05-08 19:26:47 -03:00
Agustin Zubiaga
20f8133b6c
Test record builder desugaring
2023-05-08 18:45:25 -03:00
Agustin Zubiaga
627437c65b
Handle space/parens around record builders
2023-05-07 21:56:08 -03:00
Agustin Zubiaga
dfa9c29147
Desugar Record Builder
2023-05-07 20:31:47 -03:00
Agustin Zubiaga
71c80171d4
Add record builder apply fmt test
2023-05-07 15:56:44 -03:00
Agustin Zubiaga
c2e50a22b6
Record Builder formatting
2023-05-07 15:51:08 -03:00
Agustin Zubiaga
735721769c
Record Builder parsing
2023-05-05 23:26:20 -03:00
Richard Feldman
df0ab01128
Merge pull request #5348 from basile-henry/basile/num-is-nan
...
Implement builtins for Num.isNan, Num.isInfinite, and Num.isFinite
2023-05-05 06:15:18 -04:00
Ayaz
14ac58f781
Merge pull request #5362 from jarlah/replace-panic-with-internal-error
2023-05-03 19:27:09 -05:00
Jarl André Hübenthal
e5eb5717ea
replace panic! with internal_error! in compiler modules
2023-05-03 22:11:21 +02:00
Folkert
6fe610b7fc
update mono tests
2023-05-03 18:38:20 +02:00
Folkert de Vries
27d477124d
Merge pull request #5372 from roc-lang/fix-false-debug
...
Determine host-exposed lambda sets once based on proc variable
2023-05-03 18:35:03 +02:00
Ayaz
ba1f8ffe5f
Merge pull request #5272 from extemporalgenome/markdown-typos-20230410
...
markdown typo fixes
2023-05-03 10:24:52 -05:00
Ayaz Hafiz
0744ef946b
Determine host-exposed lambda sets once based on proc variable
...
Rather than calculating the HELS for each host-exposed layout (of which
there may be multiple), we only need to calculate the HELS based on the
top-level type of the host-exposed function.
Also renamed `GlueProcs.extern_names` to
`GlueProcs.legacy_layout_based_extern_names` since they are still
currently generated based on the layout, but I think we want to generate
all HELS via type variable.
Fixes false-interpreter builds in debug.
2023-05-03 10:00:50 -05:00
Basile Henry
9a2afbb09b
gen_dev: Implement builtins Num.isNan, Num.isFinite, Num.isInfinite
2023-05-03 11:12:01 +01:00
Basile Henry
d8b658da5d
gen_dev: Add is_nan_freg_reg64
2023-05-03 11:12:01 +01:00
Basile Henry
1391920d0e
gen_dev: Add MOVQ/MOVD to x86 backend
2023-05-03 11:12:01 +01:00
Basile Henry
b8aaaaabda
Implement builtins for Num.isNan, Num.isInfinite, and Num.isFinite
...
Closes #5310 and closes #5309
2023-05-03 09:33:28 +01:00
Ayaz Hafiz
df3bd79d4a
Simplify occurs check for aliases
2023-05-02 17:00:58 -05:00
Ayaz Hafiz
8ca1e6c866
Correct occurs cycle under alias argument but not alias real var
...
At times we can have alias arguments that are recursive in their
position, but whose recursiveness is not immediately visible in the real
var.
Closes #5330
2023-05-02 17:00:58 -05:00
Ayaz Hafiz
8dc86a81b8
Rename ROC_VERIFY_OCCURS_RECURSION flag
2023-05-02 17:00:58 -05:00
Ayaz Hafiz
5815807927
seen_recursion_pair is immutable
2023-05-02 17:00:58 -05:00
Ayaz
4824de5192
Merge pull request #5363 from roc-lang/i5344
...
Correctly include flex vars in generalization group of rec defs
2023-05-02 16:44:29 -05:00
Ayaz
7897495ee2
Update gen_primitives.rs
...
Signed-off-by: Ayaz <20735482+ayazhafiz@users.noreply.github.com>
2023-05-02 15:40:45 -05:00
Ayaz Hafiz
d4fcd83ba9
Correctly include flex vars in generalization group of rec defs
...
Rather than resetting the list here, we should append to it!
Closes #5344
2023-05-02 13:18:50 -05:00
Ayaz Hafiz
d13e221678
Print variables if asked to
2023-05-02 13:08:58 -05:00
Ayaz Hafiz
155375062a
Fmt
2023-05-02 10:52:49 -05:00
Ayaz
19c04c69c0
Merge branch 'main' into i5318
...
Signed-off-by: Ayaz <20735482+ayazhafiz@users.noreply.github.com>
2023-05-01 18:47:56 -05:00
Ayaz
12b2f7e00b
Merge pull request #5317 from roc-lang/i4770
...
Various bug fixes to generalization and solving of recursion
2023-05-01 18:14:00 -05:00
Ayaz Hafiz
a9975b1f7f
Crash at runtime rather than panicking when if condition is erroneous
...
Closes #5318
2023-05-01 15:48:05 -05:00
Ayaz Hafiz
bdba56ce74
New IR just dropped
2023-05-01 15:11:37 -05:00
Ayaz
cdf8677dfb
Merge pull request #5287 from roc-lang/i5236
...
Catch non-recursive function arity mismatches during typechecking
2023-05-01 14:46:20 -05:00
Ayaz Hafiz
561a9e0037
Mark ignored test
2023-05-01 13:15:32 -05:00
Ayaz Hafiz
1916a6dba5
Add mono test for #4770
...
Closes #4770
2023-05-01 13:14:59 -05:00
Ayaz Hafiz
238e64c0b3
Defer resolution of a recursion variable during union unification until merging
...
While unifying two unions, we may turn one of them into a recursive
union. If we don't recognize the recursiveness before merging, we'll
have lost the recursive value of the union.
2023-05-01 13:14:59 -05:00
Ayaz Hafiz
5ec2715820
Correctly introduce new recursion variables at the correct rank
2023-05-01 13:14:59 -05:00
Ayaz Hafiz
7beee4e1f3
Add a way to print ranks in uitest
2023-05-01 13:14:59 -05:00
Ayaz Hafiz
190990155e
Correctly introduce new openness variables at the union rank
2023-05-01 13:14:58 -05:00
Folkert
6594fc0a90
fully implement our crude memcpy
2023-05-01 18:41:51 +02:00
Folkert
fa5b18685a
re-use proc's symbol
2023-05-01 18:41:50 +02:00
Folkert
9f8077c3a3
allow no_data return value
2023-05-01 18:41:50 +02:00
Folkert
2e7f53fe4a
copy of boxed
2023-05-01 18:41:50 +02:00