Commit graph

1191 commits

Author SHA1 Message Date
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
397d1c1db3
rename 2022-04-23 21:57:17 +02:00
Richard Feldman
122a1d57a0
Merge remote-tracking branch 'origin/trunk' into sqrt-unchecked 2022-04-23 15:40:30 -04: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
Ayaz Hafiz
633bdd5520
Fix failing reporting tests 2022-04-23 10:56:54 -04:00
Ayaz Hafiz
627d73e4c0
Clippy 2022-04-23 10:56:53 -04:00
Ayaz Hafiz
7b2b41869f
Add a way to view solved types of arbitrary expressions/patterns in a program 2022-04-23 10:56:53 -04: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
Folkert
c396ad6705
set up a def order (unpopulated for now) 2022-04-23 13:36:47 +02:00
Folkert
890bec1b0c
refactor 2022-04-23 13:17:58 +02:00
Folkert
7b234911ac
do the work 2022-04-22 23:47:43 +02:00
Folkert
894e5bdd5c
add code for more efficient identifier store 2022-04-22 22:06:00 +02:00
Folkert
8720462839
use more specific function to get symbols/regions 2022-04-22 21:41:17 +02:00
Folkert
6ffe14809f
don't populate Scope with aliases
these are now properly imported. For testing reporting we still need a way
to provide them without resolving imports (just for speed)
2022-04-22 20:49:46 +02:00
Folkert
285e4f05ec
add comment 2022-04-22 19:35:01 +02:00
Folkert
fdd0910ba0
refactor 2022-04-22 19:32:47 +02:00
Folkert
18ba49c694
add comment 2022-04-22 19:29:52 +02:00
Folkert
28cb9bf36e
use custom type for TopologicalSort result 2022-04-22 19:28:46 +02:00
Folkert
7196e7cdac
add further comment 2022-04-22 16:26:52 +02:00
Folkert
6306923e0f
add thanks comment 2022-04-22 16:24:47 +02:00
Folkert
55749e7470
make diff a bit smaller 2022-04-22 16:22:27 +02:00
Folkert
09869ac645
pick usize as the underlying integer type 2022-04-22 16:21:28 +02:00
Folkert
a40483a2ec
cleanup 2022-04-22 16:17:21 +02:00
Folkert
9f7c7b56a1
use ReferenceMatrix in DefOrdering 2022-04-22 15:49:32 +02:00
Folkert
0c10fa31f5
rename 2022-04-22 15:41:21 +02:00
Folkert
5d68a00d1c
make ReferenceMatrix type/module 2022-04-22 15:41:07 +02:00
Folkert
e40e4ae846
rename 2022-04-22 15:17:43 +02:00
Folkert
8837eb2c19
remove old def sorting code 2022-04-22 15:09:45 +02:00
Folkert
c763d51551
use new sccs in error case too 2022-04-22 15:04:16 +02:00
Folkert
887acb7519
be smarter about when a function is recursive 2022-04-22 14:41:42 +02:00
Folkert
8c08c63151
faster strongly-connected components 2022-04-22 14:10:46 +02:00
Folkert
45567a591c
rename 2022-04-22 13:42:57 +02:00
Folkert
141f88365d
use extra bitvec to spot faulty recursion 2022-04-22 12:56:50 +02:00
Folkert
b6ccd9c8fb
use bitvec-based topological sort 2022-04-22 11:35:08 +02:00