Commit Graph

21870 Commits

Author SHA1 Message Date
Anton-4
2bf58a5bc3
fix take examples 2022-12-02 10:10:40 +01:00
Ayaz
0d80e741c2
Merge pull request #4648 from roc-lang/i4636 2022-12-01 18:36:43 -06:00
Ayaz
9b4552608f
Merge pull request #4644 from roc-lang/i4594
Unify ranged numbers with flex able, modulo obligation checking
2022-12-01 16:52:32 -06:00
Ayaz Hafiz
42e8e409d4
Address lint 2022-12-01 15:59:01 -06:00
Ayaz Hafiz
9181ed8092
Correctly compile rvalue closures defined in nested defines to lvalues
Previously, a program like

```
main =
  f =
    n = 1
    \{} -[#lam]-> n  # suppose lambda set = #lam
  f {}
```

would be transformed to

```
main =
  n = 1
  f = \{} -[#lam]-> n
  f {}
```

However, the IR lowering procedure is such that we would then associate
`f` as definining the procedure given the lambda set `#lam`. This is not
correct, as `f` is really a function pointer in this circumstance,
rather than the definer of `#lam`.

Instead, the transformation we want to perform is

```
main =
  n = 1
  #lam = \{} -[#lam]-> n
  f = #lam
  f {}
```

Which is what this patch does

Closes #2403
2022-12-01 15:47:18 -06:00
Ayaz Hafiz
68e364d897
Do not attempt to handle aliasing of procs in variable assignments
Please see the comment in the diff to explain the rationale of this
change.

Closes #4636
2022-12-01 15:20:58 -06:00
Ayaz Hafiz
2dfe0276e4
Make sure to assign and update program holes correctly when specializing symbols
Previously this was a bit hacky, we worked around having to update
symbol substitutions by special-casing the rest of the program. There's
not need to do that.
2022-12-01 14:57:01 -06:00
Ayaz Hafiz
f49b0cd207
Update repl expect test to work around Dec copy bug 2022-12-01 13:26:08 -06:00
Ayaz
9f12de38c1
Merge pull request #4643 from roc-lang/i4622
Do not mark whether a module has specialization deps incrementally
2022-12-01 11:49:27 -06:00
Ayaz Hafiz
3d34e158e3
Merge branch 'i4594' of https://github.com/roc-lang/roc into i4594 2022-12-01 11:43:03 -06:00
Ayaz Hafiz
34236654af
Revert "Fix gen_compare::record test"
This reverts commit e8492f279e.
2022-12-01 11:42:27 -06:00
Ayaz Hafiz
3605008fce
Update tests to check eq unbound float is resolved to dec 2022-12-01 11:41:42 -06:00
Ayaz Hafiz
ed7d4f8f63
Obligation checking of floating point for Eq succeeds only with Dec 2022-12-01 11:31:41 -06:00
Ayaz Hafiz
e8492f279e
Fix gen_compare::record test
Unbound floating point numbers cannot be compared for Eq as of
obligation checking - this test is a correction to enforce that!
2022-12-01 11:12:50 -06:00
Ayaz Hafiz
a79e90af6c
Update lockfile 2022-12-01 10:14:03 -06:00
Ayaz Hafiz
d51db4c3ec
Bump wasm3 to avoid blacklist 2022-12-01 10:14:00 -06:00
Ayaz Hafiz
06d133c866
Update lockfile 2022-12-01 10:06:17 -06:00
Ayaz Hafiz
590535a42b
Obligation checking Eq for floating point types may never succeed 2022-12-01 10:02:37 -06:00
Ayaz Hafiz
6e1a6e5fa4
Bump wasm3 to avoid blacklist 2022-12-01 09:51:31 -06:00
Ayaz Hafiz
0bae0aafb6
Unify ranged numbers with flex able, modulo obligation checking
Closes #4594
2022-12-01 09:50:29 -06:00
Ayaz Hafiz
a42c7c00a6
Turn on roc dev test for env.roc again 2022-12-01 09:10:26 -06:00
Ayaz Hafiz
1ab41bf6b5
Do not mark whether a module has specialization deps incrementally
Whether a module has a dependency on another module for specialization
is already accounted for when the build graph was initially populated,
and should not be modified again.

Closes #4622
2022-12-01 09:08:53 -06:00
Richard Feldman
2a27d3c05f
Merge pull request #4642 from roc-lang/dbg-parsing-problem
stop parsing dbg as a value def
2022-12-01 06:55:23 -05:00
Anton-4
d2d8511f54
Merge pull request #4639 from roc-lang/wasm_bindgen_whitelist_fix
use whitelist fixed wasm3-rs
2022-11-30 19:34:53 +01:00
Anton-4
a2e296e433
update lock file 2022-11-30 18:15:24 +01:00
Anton-4
6da5c70be5
use whitelist fixed wasm3-rs 2022-11-30 18:13:56 +01:00
Richard Feldman
a0bc105ca8
Merge pull request #4616 from roc-lang/fix-pattern-equivalent
Fix missing cases in Pattern::equivalent
2022-11-30 12:10:09 -05:00
Richard Feldman
da158bca19
Merge pull request #4637 from roc-lang/check-link-exit-status
check the exit status of the link cmd
2022-11-30 12:09:14 -05:00
Folkert
b6622b71ec
stop parsing dbg as a value def 2022-11-30 14:18:48 +01:00
Joshua Warner
1e47de3c65
Merge pull request #4630 from roc-lang/more-parser-refactoring
Introduce `record!` combinator
2022-11-29 17:50:11 -08:00
Brendan Hansknecht
3d4dbd916a
Merge pull request #4632 from roc-lang/fix-stub-lib-path
fix stub lib path
2022-11-29 23:11:44 +00:00
Brian Carroll
d0b2f9c6e1
Merge pull request #4631 from roc-lang/wasm_interp_final_ops
Wasm interp final ops
2022-11-29 18:18:46 +00:00
Brendan Hansknecht
4329b08fae
fix stub lib path
platform-path is relative to the execution folder, not the input path
2022-11-29 10:03:27 -08:00
Folkert de Vries
24ddb1bf0a
Merge pull request #4628 from roc-lang/platform-cargo-test
Platform cargo test with elf
2022-11-29 18:23:48 +01:00
Anton-4
0b98609a22
check the exit status of the link cmd 2022-11-29 16:53:04 +01:00
Brian Carroll
378cad7748
clippy 2022-11-29 11:28:30 +00:00
Folkert de Vries
f9393768f2
Merge pull request #4627 from roc-lang/wasm_interp_float
Wasm interp floats & conversions
2022-11-29 12:11:50 +01:00
Brian Carroll
d29ea7fedf
wasm_interp: last few instructions! 2022-11-29 08:59:37 +00:00
Brian Carroll
17810d5134
wasm_interp: float rounding ops 2022-11-29 08:43:56 +00:00
Brian Carroll
714586fac1
wasm_interp: f32 convert instructions 2022-11-29 08:06:18 +00:00
Brian Carroll
029f0d00c1
wasm_interp: truncate instructions 2022-11-29 08:06:18 +00:00
Brian Carroll
6ac46a150f
wasm_interp: fix tests for promote and demote ops 2022-11-29 08:05:46 +00:00
Folkert
a9bd01be87
simplify to only the required changes 2022-11-29 09:03:42 +01:00
Folkert
5a62eaa662
commit test version with elfcopy object example 2022-11-29 09:03:42 +01:00
Folkert
96f48ab40a
Merge remote-tracking branch 'origin/main' into wasm_interp_float 2022-11-29 08:57:17 +01:00
Folkert de Vries
38e87011f9
Merge pull request #4619 from roc-lang/wasm_interp_i32ops
Wasm interp i32 ops
2022-11-29 08:18:42 +01:00
Joshua Warner
2b91af02df
Introduce record! combinator
... and refactor header parser to fully use combinators, in support of future combinator-based superpowers
2022-11-28 20:25:55 -08:00
Joshua Warner
8de153efb9
Fix missing cases in Pattern::equivalent 2022-11-28 19:47:53 -08:00
Joshua Warner
ec6db293f5
Merge pull request #4629 from roc-lang/fix-merge-conflict-ci
fix merge conflict that made it to main
2022-11-28 19:37:38 -08:00
Brian Carroll
afa57a027b
wasm_interp: implement some number conversion ops 2022-11-28 23:28:08 +00:00