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