Commit graph

134 commits

Author SHA1 Message Date
Shunsuke Shibayama
c32feb58ed perf: don't recheck in sub_unify 2024-09-27 11:01:55 +09:00
Shunsuke Shibayama
c965ea2c5b perf: cache subtype relation judgement 2024-09-26 23:49:32 +09:00
Shunsuke Shibayama
0ce9a1a772 fix: sub-unification bug 2024-09-26 12:12:51 +09:00
Shunsuke Shibayama
6890d82441 fix: sub-unification bug 2024-09-22 01:51:15 +09:00
Shunsuke Shibayama
f6145d01a5 fix: sub-unification bug 2024-09-21 16:02:52 +09:00
Shunsuke Shibayama
ff53af0cb6 feat: add RMul, RDiv
* `And` has the default type index
* impl `Dimension` traits
2024-09-20 20:36:55 +09:00
Shunsuke Shibayama
4651a383ae feat: add Dimension and unit module 2024-09-20 18:26:29 +09:00
Shunsuke Shibayama
df837d70d3 fix: sub-unification bug 2024-09-17 17:32:13 +09:00
Shunsuke Shibayama
a876b34145 Update unify.rs 2024-09-17 02:38:07 +09:00
Shunsuke Shibayama
6781db1588 Merge branch 'main' into perf_or_type 2024-09-16 21:31:53 +09:00
Shunsuke Shibayama
93305f2081 fix: type variable bugs 2024-09-16 21:31:10 +09:00
Shunsuke Shibayama
461e91703a fix: union type bug (2) 2024-09-16 00:54:47 +09:00
Shunsuke Shibayama
3b9bbdf1a5 fix: union type bug 2024-09-15 17:11:06 +09:00
Shunsuke Shibayama
b0c31370c5 fix: Type::{And, Or}(Set<Type>) 2024-09-14 21:20:05 +09:00
Shunsuke Shibayama
60ea11aa3e fix: eliminate unsafe operations 2024-09-09 11:42:39 +09:00
Shunsuke Shibayama
cd2a741fc6 fix: clippy warnings 2024-09-06 13:56:28 +09:00
Shunsuke Shibayama
f9eb562848 fix: infinite recursion bug
add `Immutable` trait (Type: !Immutable)
2024-09-04 20:38:46 +09:00
Shunsuke Shibayama
7cd895a30e chore: change logical operations order 2024-09-02 19:38:41 +09:00
Shunsuke Shibayama
2321bdc9fa fix: sub-unification bug 2024-09-01 20:25:51 +09:00
Shunsuke Shibayama
9a05f22356 fix: infinite recursion bugs 2024-09-01 18:16:06 +09:00
Shunsuke Shibayama
7e48a2f9c8 fix: ignored match arms 2024-08-29 02:37:19 +09:00
Shunsuke Shibayama
7a960f2cbb chore: add Predicate::{map_t, map_tp} 2024-08-23 14:53:40 +09:00
Shunsuke Shibayama
837414929c fix: sub-unification bug 2024-08-23 12:10:10 +09:00
Shunsuke Shibayama
7f16461767 WIP 2024-08-23 00:17:18 +09:00
Shunsuke Shibayama
6a45f25228 Update unify.rs 2024-08-22 00:53:15 +09:00
Shunsuke Shibayama
e1ffa2d739 fix: borrow error 2024-08-16 15:00:12 +09:00
Shunsuke Shibayama
2282d12a92 fix: unification bug 2024-05-24 20:24:18 +09:00
Shunsuke Shibayama
cb385a86e4 chore: relax occur check
fix #512
2024-05-24 19:08:36 +09:00
Shunsuke Shibayama
bb0f4d20fc chore: set recursion call limit to sub_unify 2024-05-17 17:20:18 +09:00
Shunsuke Shibayama
dc1e32f5f4 fix(els): shared reference bugs 2024-05-12 16:37:35 +09:00
Shunsuke Shibayama
0f04d27c0e chore: add Unifier::sub_unify_value 2024-05-08 14:18:37 +09:00
Shunsuke Shibayama
fa2c53461d fix: generalization is not performed for some types 2024-05-07 22:31:17 +09:00
Shunsuke Shibayama
e48311ee0c fix: type inference bug 2024-04-28 22:30:52 +09:00
Shunsuke Shibayama
0ffa23affd fix: trait parameter bug 2024-04-28 18:53:30 +09:00
Shunsuke Shibayama
86cfe8f81a feat: add HomogenousTuple
fix: iterator bugs
2024-04-27 00:28:03 +09:00
Shunsuke Shibayama
3d7283cb01 fix: {default, variable} parameter bugs 2024-04-24 15:24:05 +09:00
Shunsuke Shibayama
1f88084360 feat: best-effort type instantiation 2024-04-20 22:51:14 +09:00
Shunsuke Shibayama
c6eb78a44d refactor!: rename Array -> List 2024-04-04 23:24:07 +09:00
Shunsuke Shibayama
56f06a0a1e chore: eliminate unwraps 2024-03-25 15:14:48 +09:00
Shunsuke Shibayama
7d6ea6cf77 chore: add sub_unify_with_coercion 2024-03-21 14:00:26 +09:00
Shunsuke Shibayama
bd39393746 feat: type narrowing with filter 2024-03-21 11:56:17 +09:00
Shunsuke Shibayama
ac80cbba87 chore: fill missing arms 2024-02-25 11:20:11 +09:00
Shunsuke Shibayama
5f652f3dd5 fix: sub unification bug 2024-02-16 17:50:57 +09:00
Shunsuke Shibayama
58514c5890 chore: add Subroutine & GenericCallable is now a trait 2024-02-07 13:23:09 +09:00
Shunsuke Shibayama
7ed39e3281 fix: dependent refinement type bug 2024-01-30 01:06:03 +09:00
Shunsuke Shibayama
d1fa616aea feat: eval const call/lambda in refinement types
rename: `Shape` -> `HasShape`
2024-01-29 18:10:26 +09:00
Shunsuke Shibayama
0f3d228997 fix: type-parameter unification bug 2024-01-29 02:09:24 +09:00
Shunsuke Shibayama
951c85a344 feat: add exception module 2024-01-04 21:41:24 +09:00
Shunsuke Shibayama
6713ffeaae fix: forward-referenced method inference bug 2023-10-29 21:24:40 +09:00
Shunsuke Shibayama
6058339e3f chore: add TypeContext, MethodContext 2023-10-29 17:33:21 +09:00