Commit graph

692 commits

Author SHA1 Message Date
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
Ayaz Hafiz
913d97cab1
Add needed imports 2022-04-12 16:18:07 -04:00
Folkert
fd209f90ff
fix bug where incorrect stack size is given 2022-03-30 17:25:28 +02:00
Folkert
f1cc3be8d5
fix formatting 2022-03-23 22:58:11 +01:00
Folkert
887c5ef698
rename standard_library -> roc 2022-03-23 21:21:46 +01:00
Folkert
afee877cf1
skeleton for caching stdlib subs 2022-03-23 21:19:38 +01:00
Folkert
4859f530cd
generate cached subs 2022-03-23 21:19:37 +01:00
Folkert
80b8635947
restructure how load is used 2022-03-23 21:19:36 +01:00
Folkert
0a6335e772
start on roc_load build.rs script for building the builtins 2022-03-23 21:19:34 +01:00
Folkert
7bb1fd88fa
add load_internal 2022-03-23 21:19:34 +01:00
Folkert
d8fa2b8d92
stop passing stdlib (use lazy_static) 2022-03-22 19:53:02 +01:00
Folkert
7062a71216
clippy 2022-03-20 21:42:04 +01:00
Folkert
832681269e
add serialization test code 2022-03-20 21:32:59 +01:00
Folkert
45863769eb
fix transitive imported aliases not being passed along 2022-03-20 00:03:20 +01:00
Folkert
55d9dc745c
track if an alias is exposed 2022-03-19 17:10:29 +01:00
Folkert
62ca9ba8d0
make timing info available in check mode 2022-03-19 16:27:14 +01:00
Folkert
dcd86711ec
combine aliases 2022-03-19 00:27:32 +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
be07cbe49d
remove instrumentation 2022-03-17 19:48:35 +01:00
Folkert
0d28b5f475
disable printing of type clone count 2022-03-17 19:32:46 +01:00
Folkert
8144d7b390
the setup 2022-03-17 18:24:22 +01:00
Folkert
64287ea783
disable printing of type clone count 2022-03-16 18:38:55 +01:00
Folkert
d3c6f00c77
use custom default aliases 2022-03-16 18:35:42 +01:00
Folkert
f24bfeea99
add some aliases to file.rs 2022-03-16 18:18:45 +01:00
Folkert
b3dce7317d
hook up aliases 2022-03-15 22:23:40 +01:00
Folkert
97742b3238
clarify variable name 2022-03-13 17:59:44 +01:00
Folkert
4ef6cba23a
Merge branch 'split-types-values' into type-checking-storage-subs 2022-03-13 17:43:24 +01:00
Folkert
66676e0ab9
factor out to separate function 2022-03-13 17:15:59 +01:00
Folkert
fe72008845
remove unused module checking from Solve step 2022-03-13 17:05:32 +01:00
Folkert
496c283491
replicate unused module check after canonicalization 2022-03-13 17:03:54 +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
523032c6c9
more comments 2022-03-13 14:05:53 +01:00
Folkert
61b4ee054a
rename function 2022-03-13 13:54:03 +01:00
ayazhafiz
d7abc3897b Parse abilities 2022-03-12 21:29:06 -06:00
Folkert
d9c3a7ddd9
get rid of unneeded field on SolvedModule 2022-03-12 14:00:51 +01:00
Folkert
b78e63ae19
rename var 2022-03-12 13:47:14 +01:00
Folkert
7a7a99f118
handle some edge cases 2022-03-11 23:09:04 +01:00
Folkert
49408d3a56
fix reporting tests 2022-03-11 22:56:29 +01:00
Folkert
01b810266b
test cleanup 2022-03-11 22:15:36 +01:00
Folkert
82e4ab67b3
store stdlib in a static 2022-03-11 22:14:52 +01:00
Folkert
26953c0420
move stdlib solved type usage to use site 2022-03-11 22:01:25 +01:00
Folkert
20ae9ff1e3
hollow out ConstrainableImports 2022-03-11 21:29:50 +01:00
Folkert
364bc81dc4
stop making solved types for non-builtins 2022-03-11 21:08:24 +01:00
Folkert
9333d0a0e0
remove solved types from ExposedModuleTypes 2022-03-11 21:06:12 +01:00
Folkert
afcd176d58
clone storage subs less 2022-03-11 20:56:13 +01:00
Folkert
c79ecec56e
make SubsByModule opaque 2022-03-11 20:16:55 +01:00
Folkert
52c056ad13
imported rigids keep their name now 2022-03-11 19:55:39 +01:00
Folkert
d4da4fed88
cleanup 2022-03-11 19:41:30 +01:00