Commit graph

7952 commits

Author SHA1 Message Date
Folkert
141f88365d
use extra bitvec to spot faulty recursion 2022-04-22 12:56:50 +02:00
Folkert
b6ccd9c8fb
use bitvec-based topological sort 2022-04-22 11:35:08 +02:00
Folkert
7055645085
add bitvec dependency 2022-04-22 11:34:02 +02:00
Richard Feldman
3a0adb1c7e
Merge pull request #2904 from rtfeldman/cli-args
CLI revisions
2022-04-21 12:59:08 -04:00
Jared Cone
b61dc33fb2
Merge pull request #2906 from rtfeldman/issue-2875/file-name-in-warnings
Issue 2875/file name in warnings
2022-04-21 09:14:15 -07:00
Ayaz Hafiz
11f29baf25
Add note about output 2022-04-21 09:34:40 -04:00
Ayaz Hafiz
21661275d8
Show unified variables as a tree 2022-04-21 09:32:26 -04:00
Folkert de Vries
2cc8e95198
Merge pull request #2901 from rtfeldman/vec-map
VecMap
2022-04-21 09:16:38 +02:00
Jared Cone
497b8c114e
Updated new tests 2022-04-20 22:02:13 -07:00
Jared Cone
bfbd810ae6
Updated new tests 2022-04-20 21:25:12 -07:00
Jared Cone
d20542efae
Updated tests to use deterministic tmp dir 2022-04-20 21:25:12 -07:00
Jared Cone
66009c4b3c
Updated unit tests 2022-04-20 21:25:11 -07:00
Ayaz
e2a28347bb
Update compiler/test_gen/src/helpers/llvm.rs
Co-authored-by: Richard Feldman <oss@rtfeldman.com>
2022-04-20 22:50:31 -04:00
Richard Feldman
058bfdb8d0
Improve perf of finding type new type variables 2022-04-20 21:39:09 -04:00
Richard Feldman
132213245d
Add a way to convert Lowercase to &str 2022-04-20 21:39:09 -04:00
Richard Feldman
d903ac59f3
Make From<String> for IdentStr reuse allocation 2022-04-20 21:39:09 -04:00
Folkert
a1c0cdaeb1
make multi-threaded the default again 2022-04-21 00:50:05 +02:00
Folkert
35b560f14d
remove debug code 2022-04-21 00:47:55 +02:00
Ayaz Hafiz
4bbc1d3a2b
Clippy 2022-04-20 17:46:19 -04:00
Ayaz Hafiz
80dc50763e
Using abilities as types is illegal, but we can still compile them
Closes #2881
2022-04-20 17:46:18 -04:00
Ayaz Hafiz
c0dec1d5bc
Fix indent 2022-04-20 17:45:41 -04:00
Ayaz Hafiz
0387eeed23
Make sure we're generating correct code with has annotations 2022-04-20 17:45:41 -04:00
Ayaz Hafiz
9d71a3d1ac
Generalizing ability type instance to ability is illegal
Closes #2881
2022-04-20 17:45:40 -04:00
Ayaz Hafiz
ff5ae67094
Multi-specializations of able variables through function compile 2022-04-20 17:43:17 -04:00
Ayaz Hafiz
b9f79fdd31
Able variables through different functions compile 2022-04-20 17:43:17 -04:00
Ayaz Hafiz
a07323fb40
Typecheck annotations with able variables outside ability members 2022-04-20 17:43:16 -04:00
Richard Feldman
62484d3890
Add roc run to run even if there are build errors. 2022-04-20 15:44:39 -04:00
Folkert
e87ca7e4b7
create and union fewer Output's 2022-04-20 21:20:59 +02:00
Folkert
9d17a075d9
halve the number of lookups into References 2022-04-20 20:22:52 +02:00
Folkert
b557929276
compact References into just two allocations 2022-04-20 20:22:02 +02:00
Folkert
19dce40cd1
fix formatting 2022-04-20 18:11:44 +02:00
Folkert
9eddd23250
add vec_map 2022-04-20 18:09:09 +02:00
Folkert
ec43d7d770
clippy 2022-04-20 18:05:06 +02:00
Folkert
0267963e14
stop using referenced_type_defs 2022-04-20 18:02:11 +02:00
Folkert
b92c28b237
make calls private 2022-04-20 17:43:18 +02:00
Folkert
ab8ac2edad
make bound_symbols private 2022-04-20 17:39:19 +02:00
Folkert
c531191e49
make value_lookups private 2022-04-20 17:34:08 +02:00
Folkert
e740bbe529
make some of References' fields private 2022-04-20 17:25:22 +02:00
Folkert
8b144c446d
remove PartialEq for a bunch of types that we should not compare 2022-04-20 16:58:30 +02:00
Brian Carroll
f8156ffd53
Merge pull request #2834 from rtfeldman/wasm-list-map-n
Wasm List.mapN
2022-04-20 14:47:04 +01:00
Folkert de Vries
30731da716
Merge pull request #2892 from rtfeldman/i/2878
Explicitly disallow ability definitions in nested scopes
2022-04-20 14:51:21 +02:00
Richard Feldman
ecd230f97c
Merge pull request #2896 from rtfeldman/error-message
Record error reporting improvements
2022-04-20 07:58:24 -04:00
Richard Feldman
93677001ba
Merge pull request #2888 from rtfeldman/divTrunc
rename divFloor to divTrunc
2022-04-19 21:57:49 -04:00
Richard Feldman
40aca3c20d
Remove another gazillion allocations from reporting 2022-04-19 20:53:44 -04:00
Richard Feldman
3f698c9878
Remove a gazillion allocations from reporting 2022-04-19 20:53:44 -04:00
Folkert
b59d33a1d5
refactor roc_collections 2022-04-19 23:00:05 +02:00
Ayaz
5188f8f7df
Merge branch 'trunk' into i/2878 2022-04-18 21:46:23 -04:00
Ayaz Hafiz
f129777115
Explicitly disallow ability definitions in nested scopes
Abilities can only be defined on the toplevel of a module. There is a
technical reason to this, which is that during type solving we must
introduce all abilities at the very beginning, and we need to make sure
ranks are correct. But there is a practical reason as well, which is
that nested ability definitions don't seem to be very useful.

Note that specializations can be nested, and are allowed to be. Also, we
can revisit this in the future. I just don't want experiments to break
right now because someone uses an ability in a nested scope where we
don't expect.

Closes #2878
2022-04-18 18:04:46 -04:00
Ayaz
9343c6802a
Merge pull request #2890 from rtfeldman/i/2886
Solve all when branch pattern constraints before solving their bodies
2022-04-18 17:46:55 -04:00
Folkert
833aecbf8a
fix name 2022-04-18 22:05:06 +02:00