Commit graph

8024 commits

Author SHA1 Message Date
Folkert
f7c110dbc1
comments + renames 2022-04-25 16:34:47 +02:00
Folkert
3ec3976781
fix issue with wrong alias being used for instantiation 2022-04-24 22:08:11 +02:00
Folkert
cde4bd3ce0
fix spelling 2022-04-24 20:09:28 +02:00
Folkert
c9426e2ed2
fix alias instantiation problem 2022-04-24 20:08:12 +02:00
Folkert
01dfda29b0
fix test by swapping definition order 2022-04-24 19:47:55 +02:00
Folkert
054907a4cb
clean up sorting code 2022-04-24 19:06:08 +02:00
Folkert
0aa7cb8479
cleanup 2022-04-24 18:46:16 +02:00
Folkert
c5f433ab94
do our sorting using just SSCs 2022-04-24 18:39:29 +02:00
Folkert
6b0c4b5df0
remove some usize -> u32 casts 2022-04-24 17:41:01 +02:00
Folkert
da9899e7bb
use a bitvec-based approach to return the SCCs 2022-04-24 17:36:40 +02:00
Folkert
3d9cda57cc
moe the others over 2022-04-24 17:28:46 +02:00
Folkert
62a80db379
move correct_mutual_recursive_type_alias over 2022-04-24 17:21:52 +02:00
Folkert
0569d23385
add rows helper for Sccs 2022-04-24 17:10:28 +02:00
Folkert
b8db6aae8d
use bitvec to return SCCs 2022-04-24 16:51:51 +02:00
Folkert
a7e781ece2
simplify earlier topological sort of abilities/aliases 2022-04-24 16:19:31 +02:00
Folkert
0f4a5bdd74
rename 2022-04-24 15:46:17 +02:00
Folkert
d22a4711d4
use VecMap to store aliases 2022-04-24 15:37:44 +02:00
Folkert
cf89dd7f84
finetuning some comments 2022-04-24 13:50:47 +02:00
Folkert
dbae805071
minor cleanup to recursive alias creation 2022-04-24 13:43:04 +02:00
Folkert
912d9db293
use one fewer bitvec 2022-04-24 13:23:17 +02:00
Folkert
e5afb156eb
fix comment 2022-04-24 13:15:35 +02:00
Folkert
452447232f
bitvec all the things 2022-04-24 02:18:43 +02:00
Folkert
b0ceaf0372
instantiate aliases with a function 2022-04-24 01:04:59 +02:00
Folkert
f7010336bb
use vecs more 2022-04-24 00:16:26 +02:00
Folkert
a556cccb1e
populate the matrix 2022-04-23 23:54:05 +02:00
Folkert
5c992e49d9
rust is hard sometimes 2022-04-23 23:33:28 +02:00
Folkert
747ff262e0
stop wrapping in an Option 2022-04-23 23:09:50 +02:00
Folkert
020029138e
stop always returning an empty output 2022-04-23 23:02:34 +02:00
Folkert
1f824f3664
track exactly when we introduce a symbol in a let-block 2022-04-23 23:00:20 +02:00
Folkert
c9d422335f
inline function 2022-04-23 22:15:09 +02:00
Folkert
0f245ba778
insert type aliases instead of relying on scope check 2022-04-23 22:14:50 +02:00
Folkert
91e4a0636f
enable do_pass_bool_byte_closure_layout only in release mode 2022-04-23 21:58:36 +02:00
Folkert
397d1c1db3
rename 2022-04-23 21:57:17 +02:00
Folkert
ea15203ff9
clarify 2022-04-23 21:20:49 +02:00
Folkert
44c08779c3
simplify pattern match 2022-04-23 21:19:24 +02:00
Folkert
4668cf506b
be smarter about returning References 2022-04-23 21:15:54 +02:00
Folkert
9866feeb5d
stop putting the references into the env.closures map with the def name 2022-04-23 21:01:50 +02:00
Folkert
a4ea4acacf
pass closure references along via TempOutput 2022-04-23 20:59:34 +02:00
Folkert
8936cb9463
remove use of env.closures in later steps 2022-04-23 20:46:26 +02:00
Folkert
29493d2fd0
use matrix-based recursivity check 2022-04-23 20:43:08 +02:00
Folkert
31fc223517
add recursivity checker 2022-04-23 20:42:41 +02:00
Folkert
9bc00321b6
cleanup 2022-04-23 20:08:04 +02:00
Folkert
f7d604f3ef
move def ordering creation into canonicalize_defs 2022-04-23 20:06:05 +02:00
Folkert
bf4462c79a
consider _ = someDef definitions, where there is no symbol 2022-04-23 19:16:06 +02:00
Folkert
002327e275
don't clone the defs 2022-04-23 17:14:02 +02:00
Folkert
5840693743
use vectors instead of maps 2022-04-23 16:57:28 +02:00
Folkert
7b37727175
cleanup the old implementation 2022-04-23 16:13:26 +02:00
Folkert
7042584559
clippy 2022-04-23 15:34:24 +02:00
Folkert
32edd55d3d
sanity check 2022-04-23 15:32:15 +02:00
Folkert
2037133882
refactor how global defs are registered 2022-04-23 13:49:14 +02:00