Commit graph

124 commits

Author SHA1 Message Date
Ayaz Hafiz
9dac9e4bc2 Coalesce 2022-04-28 20:34:03 -04:00
Folkert
b1fe5659a4
cleanup 2022-04-28 21:19:27 +02:00
Folkert
992575051a
remove identids from Env 2022-04-28 21:11:08 +02:00
Folkert
7fb5b23fb0
move identids into Scope 2022-04-28 21:08:28 +02:00
Folkert
fb9d60226d
store `exposed_ident_ids in the scope itself 2022-04-28 20:30:02 +02:00
Folkert
5a613db7b6
use snapshots for inner scopes 2022-04-28 20:01:01 +02:00
Folkert
c31b796938
more types! 2022-04-26 20:10:29 +02:00
Ayaz
e736adaa24
Merge pull request #2952 from rtfeldman/ability-unused-method-reporting
Ability unused method reporting
2022-04-25 15:53:06 -04:00
Folkert
945305fc2b
take scope by-value now 2022-04-25 20:50:26 +02:00
Ayaz Hafiz
caf65ba2f8
Fix codegen of effect symbols 2022-04-25 10:59:42 -04:00
Ayaz Hafiz
23bbe0863b
Fix effect module 2022-04-25 10:59:41 -04:00
Folkert
9d17a075d9
halve the number of lookups into References 2022-04-20 20:22:52 +02:00
Folkert
b92c28b237
make calls private 2022-04-20 17:43:18 +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
b59d33a1d5
refactor roc_collections 2022-04-19 23:00:05 +02:00
Folkert
7b81c59009
Merge branch 'vecset-references' into builtins-in-roc 2022-04-17 20:32:38 +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
e112f6ad2c
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc 2022-04-16 21:01:51 +02:00
Folkert
86c86ab41e
stop inserting builtin implementations in all modules 2022-04-16 20:35:50 +02:00
Ayaz Hafiz
15a040ec87
Basic type inference and solving for abilities
Note that is still pretty limited. We only permit opaque types to
implement abilities, abilities cannot have type arguments, and also no
other functions may depend on abilities
2022-04-12 16:18:07 -04:00
Folkert
6ef443d1b0
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc 2022-04-10 19:14:00 +02:00
Folkert de Vries
7675e0232b
Merge pull request #2819 from rtfeldman/zero-arg-tag
Drop unused `arguments` field from `ZeroArgumentTag`
2022-04-10 15:18:03 +02:00
Folkert
c9b29c773f
simplify GeneratedInfo 2022-04-09 12:23:18 +02:00
Folkert
d2756919fd
treat Box.Box as a builtin opaque type 2022-04-09 12:04:12 +02:00
Folkert
e9f7427c67
fix some things in Num 2022-04-08 20:24:17 +02:00
Richard Feldman
b777b88e1c
Drop unused arguments field from ZeroArgumentTag 2022-04-08 11:53:16 -04:00
Folkert
1d0f9e9192
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc 2022-04-08 15:47:11 +02:00
Ayaz Hafiz
73bfff699f Handle symbols that shadow ability member definitions
Just add the shadowing symbol for now. We'll handle checking that a
specialization's type matches the member's type definition in a later
pass, during typechecking.
2022-04-07 17:21:17 -04:00
Folkert
0dd2cec09a
update with new clippy lints 2022-03-31 19:34:51 +02:00
Folkert
6a9b08ed11
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc 2022-03-20 13:01:00 +01:00
hafiz
3f07afe3b5
Merge pull request #2750 from rtfeldman/delay-instantiating-aliases-fix-limitations
Delay instantiating aliases fix limitations
2022-03-19 20:41:14 -04:00
Folkert
55d9dc745c
track if an alias is exposed 2022-03-19 17:10:29 +01:00
Folkert
35e5a36ea4
Merge branch 'delay-instantiating-aliases-fix-limitations' into builtins-in-roc 2022-03-19 12:30:03 +01:00
Folkert
9b63e6a3a9
simplify IntroducedVariables 2022-03-18 23:47:39 +01:00
Folkert
4e1197165b
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc-delayed-alias 2022-03-18 21:25:52 +01:00
Folkert
bf063d1d57
use all aliases that are in scope (to support imported aliases) 2022-03-18 20:44:13 +01:00
Folkert
a3b00fbf55
Merge branch 'explicit-closed-tag-record' into delay-instantiating-aliases 2022-03-17 20:34:52 +01:00
Folkert
1dacf29879
make sure aliases are not forgotten 2022-03-16 14:36:24 +01:00
ayazhafiz
3da34fc843 Report unbound type variables in aliases, opaques
Closes #2726
2022-03-14 17:42:45 -05:00
Folkert
15ac77567a
make rigid variable introducion more obvious 2022-03-13 18:27:42 +01:00
Folkert
b3f7b3a337
record referenced types 2022-03-13 17:52:31 +01:00
Folkert
563ba6acbb
incorporate referenced types 2022-03-13 16:57:42 +01:00
Folkert
8bc31e82c3
try to keep type and value symbols separate 2022-03-13 16:50:32 +01:00
Folkert
bd31503855
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc 2022-02-28 18:55:20 +01:00
Folkert
db1669154e
WIP 2022-02-27 21:53:56 +01:00
ayazhafiz
86aa0df661 Add constraint generation for opaque types 2022-02-27 00:10:11 -05:00
Folkert
65b1b3fcce
just before Num 2022-02-26 23:11:40 +01:00