Commit graph

3024 commits

Author SHA1 Message Date
Richard Feldman
15d4c2ad68
Don't render undexposed types in docs 2022-12-24 22:32:13 -05:00
Richard Feldman
15590fb31b
Generate docs basde on package root .roc file 2022-12-24 22:32:13 -05:00
Richard Feldman
e549456668
Store exposed module IDs in file loading state 2022-12-24 22:32:13 -05:00
Richard Feldman
ab45d6c632
Fix docs generation of types 2022-12-24 22:32:12 -05:00
Folkert de Vries
4022b44ff9
Merge pull request #4798 from JTeeuwissen/main
Replace DeclarationToIndex elements with a hash map.
2022-12-22 17:19:37 +01:00
J.Teeuwissen
1caafbc131
Feedback 2022-12-22 15:42:26 +01:00
Ayaz
dbdf4acdd7
Merge pull request #4758 from joshuawarner32/fuzzing-take-2
Add fuzzing for the formatter and fix bugs
2022-12-22 06:35:34 -07:00
Ayaz
017e48625c
Merge pull request #4797 from roc-lang/dbg-refcounting
make dbg transparent to refcounting
2022-12-22 06:34:53 -07:00
J.Teeuwissen
5229edd742
Use hash instead of binary search 2022-12-22 14:08:41 +01:00
Folkert de Vries
3682e7db6c
Merge pull request #4796 from roc-lang/str-rc-fixes
fix missing decref in split and concat
2022-12-22 12:00:53 +01:00
Folkert
4ef541395a
remove dbg lowlevel 2022-12-22 02:45:09 +01:00
Folkert
1481aea40c
fix missing decref in split and concat 2022-12-22 01:08:31 +01:00
Folkert
f76df8a356
make dbg transparent to refcounting 2022-12-22 01:03:03 +01:00
Folkert
6c7d434f81
fix lifetime issue in RocStr.asU8Ptr 2022-12-21 01:43:38 +01:00
Folkert
7536a5b8b0
remove some commented code 2022-12-20 16:46:45 +01:00
Folkert
12ec3189c8
and the final one 2022-12-20 16:45:53 +01:00
Folkert
acf22ebf7e
fix 32-bit wasm to num conversion 2022-12-20 16:34:24 +01:00
Folkert
d765cae620
remove get_element_type in some C abi functions 2022-12-20 16:09:59 +01:00
Folkert
bb4ff34aaa
be more precise with zig return types 2022-12-20 15:43:11 +01:00
Folkert de Vries
ec80161824
Merge pull request #4793 from roc-lang/llvm-15-zig-10-round-2
Prepare Llvm 15 update
2022-12-20 14:10:57 +01:00
J Teeuwissen
dc65298f9d
Merge branch 'roc-lang:main' into main 2022-12-20 10:19:35 +01:00
Richard Feldman
205b9bc20a
Merge pull request #4736 from roc-lang/packages
Basic Packages
2022-12-19 22:37:45 -05:00
Folkert
976305bda2
clippy 2022-12-20 00:24:54 +01:00
Folkert
9bf8d65170
upgrade most build_load usages 2022-12-20 00:11:45 +01:00
Folkert
f2d0953e0a
upgrade build_in_bounds_gep 2022-12-19 20:21:27 +01:00
Folkert
bc9c813fec
already do some of the llvm struct_gep conversion work 2022-12-19 19:57:31 +01:00
Folkert
0f46ea83d0
standardize WhenRecursive 2022-12-19 19:05:25 +01:00
Folkert de Vries
a18197347b
Merge pull request #4767 from roc-lang/wasm_interp_repl_test
Replace Wasmer with roc_wasm_interp
2022-12-18 20:44:58 +01:00
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
Ayaz
95276ceea5
Merge pull request #4786 from roc-lang/llvm-cleanup
Llvm cleanup
2022-12-17 21:19:31 -07: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
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
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
Richard Feldman
7b85775ee6
Drop a dbg! 2022-12-16 12:30:38 -05:00
Richard Feldman
27fc823795
Drop a redundant Instant::now() 2022-12-16 12:27:22 -05: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
4d5b7f8b73
wasm_interp: add a WasmModule to Instance so we don't have to pass it to call_export 2022-12-16 14:52:10 +00:00
Brian Carroll
86a82f8576
test_gen: disable roc_wasm_interp logging 2022-12-16 14:52:10 +00:00