Commit Graph

623 Commits

Author SHA1 Message Date
Mfon Eti-mfon
9068c2414e
Rename float functions and vars 2022-05-08 18:42:12 +01:00
Mfon Eti-mfon
85c622b169
Update symbols definition 2022-05-08 15:54:34 +01:00
Ayaz Hafiz
af3a677f12
Correct instantiation of delayed opaques
I didn't realize that delayed instantiation of aliases instantiates
their real var, not the whole alias type. So prior to this, we were
wrapping all opaques in a structural `Alias(..)`. Which is okay from a
typechecking perspective because Aliases are transparent, but is
wasteful.
2022-05-07 16:50:14 -04:00
Richard Feldman
5f7ef4c105
Merge pull request #3018 from rtfeldman/generalize-reduce-allocation
Generalize reduce allocation
2022-05-07 16:28:17 -04:00
Folkert
fa3eff6515
re-use a vector that already has a good capacity 2022-05-07 13:21:23 +02:00
Folkert
c308276c22
remove a to_vec() call 2022-05-07 13:20:53 +02:00
Ayaz Hafiz
7e234d4550
Instantiate aliases in delayed alias args 2022-05-06 16:04:47 -04:00
Ayaz Hafiz
a760510be0
Consolidate and improve debug_flags 2022-05-05 12:06:16 -04:00
Richard Feldman
0f1e1d7659
Don't pass around an unnecessary Env 2022-05-04 21:36:47 -04:00
Ayaz
56935407b2
Merge pull request #2974 from rtfeldman/opt-opaque-metadata
Delay opaque instantiation, remove unnecessary Lowercase in Type
2022-04-30 18:10:45 -04:00
Ayaz Hafiz
3411a4b266
Simplify 2022-04-29 17:49:40 -04:00
Ayaz Hafiz
fe28d1554b
Only assert that rigids are introduced at given rank behind flag
Closes #2489
2022-04-29 16:26:10 -04:00
Ayaz Hafiz
7d3f02d0e1
Unnecessary clone 2022-04-29 12:18:48 -04:00
Ayaz Hafiz
83c6c3a17d
Remove Lowercase from Alias and Opaque 2022-04-29 11:36:31 -04:00
Ayaz Hafiz
452b882f12
Remove unused alias types 2022-04-29 11:04:15 -04:00
Ayaz Hafiz
c225515a1b
Get rid of variable name on DelayedAlias 2022-04-29 10:55:29 -04:00
Ayaz Hafiz
2e62fba7bc
Delay instantiation of opaque types 2022-04-29 10:44:33 -04:00
Ayaz Hafiz
9dac9e4bc2 Coalesce 2022-04-28 20:34:03 -04:00
Ayaz Hafiz
51c8702820 Smarter marks 2022-04-28 20:33:48 -04:00
Ayaz Hafiz
2f1306afd1 Redundant and exhaustive marks in mono 2022-04-28 20:33:48 -04:00
Ayaz Hafiz
98869b557d Exhaustive and redundant marks 2022-04-28 20:33:48 -04:00
Ayaz
98a3523702
Merge pull request #2961 from rtfeldman/improved-identids
Improved identids
2022-04-27 10:11:06 -04:00
Folkert
d18c46550f
fix test building 2022-04-27 01:28:31 +02:00
Richard Feldman
6da39aa296
Merge pull request #2917 from rtfeldman/move-exhaustiveness-checking
Moves exhaustiveness checking to type solving phase
2022-04-25 20:55:05 -04:00
Ayaz Hafiz
19233e08c2
Consolidate IsOpen solve 2022-04-25 19:04:10 -04:00
Ayaz Hafiz
1de67fe19a
Nested Eq constraint in Exhaustive behind SoA 2022-04-25 19:04:09 -04:00
Ayaz Hafiz
17e7b10267
Fought against clippy and lost 2022-04-25 19:04:09 -04:00
Ayaz Hafiz
372b12bec9
Typo 2022-04-25 19:04:09 -04:00
Ayaz Hafiz
85e3373d8b
Move exhaustiveness checking to type checking 2022-04-25 19:04:09 -04:00
Ayaz Hafiz
356616d834
Move exhaustiveness checking to type solving phase with solve tests 2022-04-25 19:04:08 -04:00
Ayaz Hafiz
e73ebfba3e
Add a way to view solved types of arbitrary expressions/patterns in a program 2022-04-25 19:03:25 -04:00
Richard Feldman
85e7969c2d
Replace references to "global tag" with "tag" 2022-04-25 17:04:34 -04:00
Ayaz
ccaddcebbb
Merge branch 'trunk' into remove-private-tags 2022-04-25 13:14:42 -04:00
Ayaz Hafiz
f1dc9c8298
Opaques take @ : %s/\$\([A-Z]\)/@\1/g 2022-04-25 12:26:38 -04:00
Ayaz Hafiz
e43994530f
Remove temp test 2022-04-25 12:19:33 -04:00
Ayaz Hafiz
0d24e279f1
Fix Ast2 constraining of opaques 2022-04-25 12:08:23 -04:00
Ayaz
53c8dee4ed
Merge pull request #2926 from rtfeldman/matrix-correct-mutual-type-alias
Matrix correct mutual type alias
2022-04-25 11:19:59 -04:00
Ayaz Hafiz
7facfd0922
Remove private tags from solve tests 2022-04-25 11:12:05 -04:00
Ayaz Hafiz
b6383f81ee
Numbers are opaques 2022-04-25 10:59:42 -04:00
Ayaz Hafiz
8b291854d3
Improve alias<->opaque unification logic 2022-04-25 10:59:40 -04: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
Ayaz Hafiz
87245def0a
Clippy vs McGregor 2047 2022-04-23 10:56:54 -04:00
Ayaz Hafiz
935a484c71
Fix compile error 2022-04-23 10:56:54 -04:00
Ayaz Hafiz
188bd33f1f
Make sure we only open up closed tag unions 2022-04-23 10:56:54 -04:00
Ayaz Hafiz
504c3f9b49
Delay add "is open" constraint until we know a type variable 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
Ayaz Hafiz
115cd2ba75
IsOpen constraints should always open up all nested tag unions 2022-04-23 10:56:52 -04:00
Folkert de Vries
2cc8e95198
Merge pull request #2901 from rtfeldman/vec-map
VecMap
2022-04-21 09:16:38 +02:00
Ayaz Hafiz
ff5ae67094
Multi-specializations of able variables through function compile 2022-04-20 17:43:17 -04:00