Commit graph

24623 commits

Author SHA1 Message Date
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
Anton-4
8009b524b4
Merge pull request #5371 from roc-lang/test-gen-dev-nix
do test-gen-dev on nix too
2023-05-05 14:37:16 +02: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
001e081926
Merge pull request #5323 from isaacvando/main
Correct typo in roc-for-elm-programmers.md
2023-05-03 11:34:41 -05:00
Anton-4
46a711fbef
execute inside nix
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2023-05-03 17:55:25 +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
Anton-4
155b5e097d
do test-gen-dev on nix too 2023-05-03 16:59:10 +02:00
Anton-4
973e2fc89f
Merge pull request #5216 from roc-lang/basic-cli-release-3-1
basic-cli release minor changes
2023-05-03 16:54:16 +02:00
Folkert de Vries
9fc74a749a
Merge pull request #5364 from roc-lang/i5330
Correct occurs cycle under alias argument but not alias real var
2023-05-03 14:22:40 +02: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
Richard Feldman
a60310ef8c
Merge pull request #5366 from roc-lang/simplify-wasm-js
Simplify wasm NodeJS example
2023-05-02 21:11:34 -04:00
Richard Feldman
737a1ec025
Simplify wasm NodeJS example 2023-05-02 19:56:14 -04: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
7aa9656689
Merge pull request #5355 from roc-lang/i5318
Crash at runtime rather than panicking when if condition is erroneous
2023-05-02 16:26:26 -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
d84a9fa8ba
Merge pull request #5356 from roc-lang/i5325
Fix repl evaluation of tuples
2023-05-01 18:15:03 -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
Richard Feldman
fdca4719b0
Merge pull request #5346 from roc-lang/wasm-node
example of nodejs interop via wasm
2023-05-01 19:05:15 -04:00
Ayaz Hafiz
759a9976b6
Fix repl evaluation of tuples
Closes #5325
2023-05-01 16:38:50 -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
Richard Feldman
70140206ab
Split nodejs wasm and napi examples 2023-05-01 15:54:53 -04:00
Richard Feldman
bc1d202019
examples/typescript-interop -> nodejs-interop 2023-05-01 15:54:53 -04: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