Commit graph

14474 commits

Author SHA1 Message Date
Richard Feldman
681e73d393
Combine record and record snippet reporting 2022-04-19 20:53:43 -04:00
Richard Feldman
ab44f23e0f
Revise record field typo error report 2022-04-19 20:53:43 -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 de Vries
d6fea41c1d
Merge pull request #2613 from rtfeldman/builtins-in-roc
Write non-lowlevel builtins in roc
2022-04-18 23:42:09 +02:00
Folkert
833aecbf8a
fix name 2022-04-18 22:05:06 +02:00
Folkert
c0f9fb52a9
update Box imports/ignores because it is now available by default 2022-04-18 21:45:40 +02:00
Folkert
1c8b18f176
import Box by default 2022-04-18 21:43:16 +02:00
Ayaz Hafiz
b81bbefa75
Make sure we solve all variables in all patterns before all bodies 2022-04-18 12:56:48 -04:00
Ayaz Hafiz
ceea194db4
Make sure "is open" constraints add flex vars at the right rank 2022-04-18 12:56:22 -04:00
Ayaz Hafiz
2856a38236
Solve all when branch pattern constraints before solving their bodies
Closes #2886
2022-04-18 11:03:25 -04:00
Ayaz Hafiz
e0c9931326
Bugfix debug printing 2022-04-18 10:21:56 -04:00
Kevin Gillette
6a3fd3a607
rename divFloor to divTrunc 2022-04-18 02:33:31 -06:00
Richard Feldman
340f6b7c88
fix typo 2022-04-18 01:21:33 -04:00
Richard Feldman
a8f0b771f6
Add Kas Buunk to AUTHORS 2022-04-18 01:21:23 -04:00
Richard Feldman
30d36c5719
Merge pull request #2887 from rtfeldman/fix-typo-docs
chore: correct typo in docs
2022-04-18 01:20:17 -04:00
Kas Buunk
8a16c963d1
chore: correct typo in docs 2022-04-18 07:11:31 +02:00
Folkert
aa8eed2fc9
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc 2022-04-18 00:13:10 +02:00
Folkert de Vries
000ec79106
Merge pull request #2882 from rtfeldman/vecset-references
use VecSet in References
2022-04-18 00:11:02 +02:00
Folkert
2c0b29efd1
use VecSet in IntroducedVariables 2022-04-17 20:53:54 +02:00
Folkert
7f3ca4458a
use VecSet in IntroducedVariables 2022-04-17 20:50:41 +02:00
Folkert
a1a7feca45
use VecSet in IntroducedVariables 2022-04-17 20:43:45 +02:00
Folkert
7b81c59009
Merge branch 'vecset-references' into builtins-in-roc 2022-04-17 20:32:38 +02:00
Folkert
d53a888540
Revert "use Vec instead of MutSet for references in can_ann"
This reverts commit d0b2cde1f4.
2022-04-17 20:32:20 +02:00
Folkert
9f453a7ba2
use vecset for non_closures 2022-04-17 20:30:32 +02:00
Folkert
c47460d792
use VecSet in recursive alias correction 2022-04-17 20:27:47 +02:00
Folkert
304b7fd569
use VecSet for exposed_symbols 2022-04-17 20:23:29 +02:00
Folkert
39aa112fd5
more VecSet 2022-04-17 20:14:25 +02:00
Folkert
f772c87c4b
more VecSet use, in canonical Env this time 2022-04-17 20:08:06 +02:00
Folkert
be1aff390c
use VecSet in canonicalizing annotations 2022-04-17 20:06:07 +02:00
Folkert
cc6c63355a
optimize for empty and singleton extends 2022-04-17 20:02:40 +02:00
Folkert
8692938fb3
Merge branch 'vecset-references' into builtins-in-roc 2022-04-17 19:39:03 +02:00
Folkert
dda4f46e67
use VecSet in References 2022-04-17 19:37:10 +02:00
Folkert
aa21186997
add VecSet type to collections 2022-04-17 19:36:31 +02:00
Folkert
d0b2cde1f4
use Vec instead of MutSet for references in can_ann 2022-04-17 19:13:58 +02:00
Folkert
2784affbc1
skip constraint gen for cached modules 2022-04-17 14:51:56 +02:00
Folkert
ec17367707
clippy 2022-04-17 14:46:11 +02:00
Folkert
d0c02ada8a
re-enable ignored test 2022-04-17 14:00:34 +02:00
Folkert
4254ece2c6
stop special-casing builtins 2022-04-17 14:00:21 +02:00
Folkert
d7d884b4f7
cleanup 2022-04-17 13:55:21 +02:00
Folkert
90a980a3e9
remove debug code 2022-04-17 13:54:53 +02:00
Folkert
5501787e64
delete unused code 2022-04-17 13:53:17 +02:00
Richard Feldman
718b999751
Merge pull request #2857 from rtfeldman/abilities-mono
Codegen for abilities
2022-04-16 22:59:16 -04:00
Folkert
c6f1001161
fix reporting tests 2022-04-16 21:38:39 +02:00
Folkert
e112f6ad2c
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc 2022-04-16 21:01:51 +02:00
Folkert
51a02b05dc
don't cache builtins when the target is wasm (wasm declaration order is different from the cached version we make at compile time) 2022-04-16 20:36:25 +02:00
Folkert
86c86ab41e
stop inserting builtin implementations in all modules 2022-04-16 20:35:50 +02:00
Folkert
1568a57de0
turn panic into runtime error 2022-04-16 19:42:08 +02:00