Commit graph

23468 commits

Author SHA1 Message Date
Richard Feldman
09764be7c3
Go back to PackageName 2022-12-18 10:11:19 -05:00
Richard Feldman
ecf7bea259
Temporarily disable an assertion.
I'm going to go back and revise all this LoadingProblem logic
later, but for now this unblocks things.
2022-12-18 06:19:33 -05:00
Brian Carroll
f7759bb3fb
virtual-dom: update readme 2022-12-18 09:56:55 +00:00
Brian Carroll
370d363351
virtual-dom: rename server-side-rendering -> virtual-dom-wip 2022-12-18 09:48:15 +00:00
Brian Carroll
ec3a9bc496
virtual-dom: Delete FIXME about record types. Doesn't seem to be true any more 2022-12-18 09:39:57 +00:00
Brian Carroll
ff0edc8d27
virtual-dom: renderFromScratch now compiles! 2022-12-18 09:20:17 +00:00
Brian Carroll
156ad685ac
Merge branch 'main' of github.com:roc-lang/roc into virtual-dom 2022-12-18 07:47:15 +00:00
Ayaz
95276ceea5
Merge pull request #4786 from roc-lang/llvm-cleanup
Llvm cleanup
2022-12-17 21:19:31 -07:00
Joshua Warner
6fa9fbaf78
Use .gitattributes to make sure .roc files are checked out with unix line endings 2022-12-17 19:44:39 -08:00
Brian Carroll
83b5607022
wasm_interp: rename various variables stack->store 2022-12-18 01:09:20 +00:00
Brian Carroll
f968999ab4
wasm_interp: rename Instance::value_stack -> value_store 2022-12-18 00:21:07 +00:00
Brian Carroll
6cfc7dc6a0
wasm_interp: comments on ValueStore 2022-12-18 00:21:07 +00:00
Brian Carroll
963e6dc6b9
wasm_interp: rename struct ValueStack -> ValueStore 2022-12-18 00:21:06 +00:00
Brian Carroll
a3c6cfbc0e
wasm_interp: rename module value_stack -> value_store 2022-12-18 00:20:29 +00:00
Brian Carroll
84e6267508
wasm_interp: re-implement stack trace printing 2022-12-18 00:17:11 +00:00
Folkert
3720c38e2b
convert to pointer_cast where we can 2022-12-17 23:21:19 +01:00
Ayaz
ac532791eb
Merge pull request #4778 from joshuawarner32/fix-record-unification 2022-12-17 16:20:51 -06:00
Folkert
8e36456765
de-duplicate tag extract value code 2022-12-17 22:56:05 +01:00
Folkert
551a0aa6db
subtle lifetime issue on a pointer 2022-12-17 22:49:36 +01:00
Folkert
8eddffeb70
clarify variable name 2022-12-17 22:24:55 +01:00
Folkert
78e0a4ca6b
use load_roc_value 2022-12-17 22:24:41 +01:00
Folkert
1d260530fb
print a prettier command string 2022-12-17 22:21:00 +01:00
Folkert
a522d49558
backport some changes needed for zig 10 2022-12-17 22:17:27 +01:00
Brian Carroll
4742033d00
wasm_interp: simplify do_return 2022-12-17 20:52:19 +00:00
Brian Carroll
6beac8d56a
wasm_interp: fix bug in position of locals block 2022-12-17 20:52:19 +00:00
Brian Carroll
b87cb69d94
wasm_interp: create a debug visualisation for values and blocks 2022-12-17 20:52:19 +00:00
Brian Carroll
b0d2e7a409
wasm_interp: store return type in frame & create SignatureParamsIter 2022-12-17 20:52:19 +00:00
Brian Carroll
d51beb073f
wasm_interp: create a block for each function and get tests working again 2022-12-17 20:52:19 +00:00
Brian Carroll
caedb9060b
wasm_interp: remove CallStack, create Frame, & share value storage for stack and locals
This allows us to do calls without moving arguments from one place to another
2022-12-17 20:52:19 +00:00
Brian Carroll
8b8e385cde
Merge branch 'main' of github.com:roc-lang/roc into wasm_interp_repl_test 2022-12-17 20:52:00 +00:00
Brian Carroll
ef69170b88
wasm_interp: fix typo bug in WASI random_get 2022-12-17 20:49:25 +00:00
Folkert de Vries
fd2c6adc6f
Merge pull request #4761 from roc-lang/wasm_interp_test_gen
Replace Wasm3 with roc_wasm_interp
2022-12-17 21:19:01 +01:00
Joshua Warner
174f7d5e4d
Fix bug in unifying records
This was leading us to have an infinitely-recursive type, which eventually causes layout to stack-overflow

Fixes #4739
2022-12-17 11:37:19 -08:00
Joshua Warner
a046428ce6
Add fuzzing for the formatter and fix bugs
This commit adds fuzzing for the (expr) formatter, with the same invariants that we use for fmt tests:
  * We start with text, which we parse
  * We format the AST, which must succeed
  * We parse back the AST and make sure it's identical igoring whitespace+comments
  * We format the new AST and assert it's equal to the first formatted version ("idempotency")

Interestingly, while a lot of bugs this found were in the formatter, it also found some parsing bugs.

It then fixes a bunch of bugs that fell out:
* Some small oversights in RemoveSpaces
* Make sure `_a` doesn't parse as an inferred type (`_`) followed by an identifier (parsing bug!)
* Call `extract_spaces` on a parsed expr before matching on it, lest it be Expr::SpaceBefore - when parsing aliases
* A few cases where the formatter generated invalid/different code
* Numerous formatting bugs that caused the formatting to not be idempotent

The last point there is worth talking further about. There were several cases where the old code was trying to enforce strong
opinions about how to insert newlines in function types and defs. In both of those cases, it looked like the goals of
(1) idempotency, (2) giving the user some say in the output, and (3) these strong opinions - were often in conflict.

For these cases, I erred on the side of following the user's existing choices about where to put newlines.

We can go back and re-add this strong opinionation later - but this seemed the right approach for now.
2022-12-17 09:52:09 -08:00
Brian Carroll
2eea0b1adf
repl_test: fix path for compiler include_bytes 2022-12-17 16:32:17 +00:00
Richard Feldman
10c8523888
Handle FileProblem explicitly 2022-12-17 03:57:11 -05:00
Richard Feldman
ed0b07a62f
clippy 2022-12-17 03:35:39 -05:00
Richard Feldman
3e448fd2b4
Merge remote-tracking branch 'origin/main' into packages 2022-12-17 03:32:52 -05:00
Richard Feldman
b21a3a4fdb
Handle loading errors more consistently 2022-12-17 03:31:10 -05:00
Folkert
d97fd98a33
parse error for dbg/expect final expressions 2022-12-16 22:47:53 +01:00
Richard Feldman
7b85775ee6
Drop a dbg! 2022-12-16 12:30:38 -05:00
Richard Feldman
fefb3b9908
gitignore cli_testing_example's compiled app 2022-12-16 12:29:47 -05:00
Richard Feldman
319fdbfaf7
Add packages-test to fixtures gitignore 2022-12-16 12:28:15 -05:00
Richard Feldman
27fc823795
Drop a redundant Instant::now() 2022-12-16 12:27:22 -05:00
Richard Feldman
c4da82cdae
Fix CLI test for packages 2022-12-16 12:27:22 -05:00
Richard Feldman
1d670cd0cf
Add CLI test for packages 2022-12-16 12:22:50 -05:00
Brian Carroll
3588e57c6a
clippy 2022-12-16 16:22:52 +00:00
Brian Carroll
62269bf6c9
builtins: build the Wasm interpreter from inside run-wasm-tests.sh 2022-12-16 16:05:00 +00:00
Brian Carroll
66aaa7c73c
wasm_interp: Use String for CLI args. It was crashing with OsString. 2022-12-16 16:04:22 +00:00
Brian Carroll
b938648dad
repl_test: get rid of nested Cargo build script, as it needs an extra target dir 2022-12-16 15:08:24 +00:00