Commit graph

999 commits

Author SHA1 Message Date
ayazhafiz
d7abc3897b Parse abilities 2022-03-12 21:29:06 -06:00
Folkert
8b2c1707d4
don't even create a type if we only need a variable 2022-03-13 02:12:45 +01:00
Folkert
eccb461b01
get fancy, store variable directly in the index 2022-03-13 01:59:28 +01:00
Folkert
b3d9f9c2de
use EitherIndex<Type, Variable> to halve number of types stored 2022-03-13 01:46:49 +01:00
Folkert
e3e9215578
Merge remote-tracking branch 'origin/trunk' into type-checking-storage-subs 2022-03-12 14:10:43 +01:00
Folkert
401b3fd5ad
improve Constraint Debug impl 2022-03-12 13:31:58 +01:00
Folkert
8b92401d01
document let_import_constraint 2022-03-12 13:28:24 +01:00
hafiz
28a3ae85e3
Merge pull request #2704 from rtfeldman/num-to-nat
Add `Num.toNat`
2022-03-11 18:46:43 -06:00
hafiz
5bc29c9b88
Merge pull request #2700 from rtfeldman/optimize-instantiate-alias
improve `correct_mutual_recursive_type_alias`
2022-03-11 17:29:51 -06:00
ayazhafiz
6a71358431 Get rid of more clones when resolving recursive aliases and use fast ImMap 2022-03-11 14:59:19 -06:00
Brendan Hansknecht
d681062c63 add Num.toNat 2022-03-11 11:17:42 -08:00
Folkert
aebb3a162e
it's alive! 2022-03-11 17:27:44 +01:00
Folkert
fc5e09a9e3
use Vec instead of ImSet 2022-03-11 09:52:44 +01:00
Folkert
831a90e310
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc 2022-03-08 22:36:06 +01:00
Folkert
3510bad1d5
add scaffolding 2022-03-07 20:55:40 +01:00
ayazhafiz
01255a17d5 Remove unnecessary reference 2022-03-06 22:19:45 -05:00
ayazhafiz
47e4904075 Chase aliases when checking for valid extension types 2022-03-06 22:17:58 -05:00
ayazhafiz
aae5a46034 Fmt 2022-03-06 22:17:22 -05:00
ayazhafiz
eed7e3df71 Report invalid extension types during canonicalization
Closes #2541
2022-03-06 22:17:22 -05:00
hafiz
de9da2d8a5
Merge pull request #2657 from rtfeldman/i/2567
Register accessor closures when they are bound
2022-03-06 12:59:55 -05:00
ayazhafiz
0692caf7ba Consolidate Accessor data 2022-03-06 11:07:31 -05:00
ayazhafiz
3bff99b0a2 Register accessor closures when they are bound
Previously we only registered record accessor closures in anonymous
contexts, where we assume they must already be specialized based on the
surrounding contexts. This is not true in general since one might bind
an accessor to a name.

Closes #2567
2022-03-06 10:53:12 -05:00
Folkert
6009768991
Merge branch 'def-types-tweaks' into builtins-in-roc 2022-03-05 22:36:59 +01:00
Folkert
c7c9a90d65
restructure how def_types are stored in Constraints 2022-03-05 21:47:49 +01:00
Folkert
dc8a077fff
constraint.rs tweaks 2022-03-05 21:32:13 +01:00
Folkert
602355903d
constraint.rs tweaks 2022-03-05 21:28:59 +01:00
Folkert
de498a37ce
manually define min/max integer functions 2022-03-05 21:02:35 +01:00
Folkert
adf4ad22a5
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc 2022-03-05 20:55:15 +01:00
hafiz
cad02d878c
Merge pull request #2645 from rtfeldman/solve-fully-tail-recursive
make solve fully tail recursive
2022-03-05 14:35:39 -05:00
Folkert
fc4212310f
Merge remote-tracking branch 'origin/trunk' into solve-fully-tail-recursive 2022-03-05 18:34:09 +01:00
Folkert
0285a1b0ea
cleanup 2022-03-05 16:41:29 +01:00
Folkert
cd203d20a3
also remove clones for Body 2022-03-05 16:12:19 +01:00
Folkert
b421df2a28
transform TypedDef to use fewer clones 2022-03-05 15:50:00 +01:00
Folkert
5e48577d29
remove clones in most cases in can/def 2022-03-05 15:32:55 +01:00
Folkert
6370a80c62
make sure lambda sets within aliases are in IntroducedVariables 2022-03-05 14:29:34 +01:00
Folkert
012a2d07a6
add Inferred variables to IntroducedVariables 2022-03-05 14:27:45 +01:00
Folkert
7c83e940bd
leave a TODO 2022-03-05 13:55:30 +01:00
Folkert
d7eee71402
track lambda set variables; only use annotation variables in annotations... 2022-03-05 13:47:01 +01:00
Richard Feldman
c89a6c109a
Merge pull request #2627 from rtfeldman/constraints-soa
Constraints using Struct of Arrays
2022-03-04 19:39:03 -05:00
Folkert
3d30bcef03
store filenames out of band 2022-03-03 10:13:52 +01:00
Folkert
da89152fef
fix static assert 2022-03-03 08:32:32 +01:00
Richard Feldman
364697e662
Merge pull request #2628 from rtfeldman/rust-1.58
Rust 1.58
2022-03-02 18:16:28 -05:00
Folkert de Vries
03a63cdd00
Merge pull request #2622 from rtfeldman/optimize-def-sorting
optimize def sorting
2022-03-02 23:16:01 +01:00
Folkert
760331829f
deduplicate categories 2022-03-02 22:05:38 +01:00
Folkert
d9851b5e68
fix formatting issues 2022-03-02 21:39:30 +01:00
Folkert
0eb98a4c59
move over constraint 2022-03-02 21:19:58 +01:00
Folkert
8d2e0a738c
exploiting exactsizeiterator 2022-03-02 21:08:14 +01:00
Folkert
54c6292b4b
clippy 2022-03-02 20:59:51 +01:00
Folkert
289e1a7ae1
fix ordering bug 2022-03-02 20:57:55 +01:00
Folkert
c52029c2d1
the debugging begins 2022-03-02 20:30:42 +01:00