Commit graph

59 commits

Author SHA1 Message Date
Shunsuke Shibayama
ea0089f7df feat: add Type::NamedTuple 2023-08-17 02:00:44 +09:00
Shunsuke Shibayama
28d173758f chore: add TyParam::DataClass 2023-08-15 01:23:53 +09:00
Shunsuke Shibayama
974882490c fix: generalization bug 2023-08-13 01:42:23 +09:00
Shunsuke Shibayama
2e9fb48f2e fix: in operator
* remove `In` trait, `__in__`, `__notin__` function
* desugar to `__contains__`
* impl Collection for Array, Set, Tuple
2023-08-13 01:01:06 +09:00
Shunsuke Shibayama
187259a008 fix: trait bound bug 2023-08-07 22:43:03 +09:00
Shunsuke Shibayama
d46ce0ff0c chore: add Substituter 2023-08-07 21:25:17 +09:00
Shunsuke Shibayama
f4e1d494a4 fix: array type inferring 2023-08-06 22:51:13 +09:00
Shunsuke Shibayama
142db9b697 refactor: link -> destructive_link 2023-08-06 20:13:45 +09:00
Shunsuke Shibayama
b45041e926 fix: refinement subtyping bug 2023-08-04 16:12:57 +09:00
Shunsuke Shibayama
1ea2c74aaa chore: add TyParam::proj_call 2023-07-30 13:05:39 +09:00
Shunsuke Shibayama
e3b479ebf7 feat: polymorphic type class members 2023-07-14 01:53:06 +09:00
Shunsuke Shibayama
75f4c206f6 feat: parallelize the analysis process 2023-06-18 15:58:32 +09:00
Shunsuke Shibayama
26be281137 fix: infinte recursion bug 2023-06-10 23:04:23 +09:00
Shunsuke Shibayama
0840d9bf60 fix: subtyping bug 2023-06-10 11:16:30 +09:00
Shunsuke Shibayama
5052ebb077 feat: impl polymorphic type declaration 2023-06-04 01:34:20 +09:00
Shunsuke Shibayama
b8b312caad chore: eliminate unsafe operations 2023-05-28 10:31:39 +09:00
Shunsuke Shibayama
7049faf144 fix: eliminate unsafe type-var updating 2023-05-27 23:09:15 +09:00
Shunsuke Shibayama
f39836abb0 fix: bugs generating unintended circular references 2023-05-18 18:38:44 +09:00
Shunsuke Shibayama
658ed24482 Update generalize.rs 2023-05-14 10:57:28 +09:00
Shunsuke Shibayama
470c06675f fix: subtyping bugs 2023-05-10 17:21:05 +09:00
Shunsuke Shibayama
e892277a9c Update generalize.rs 2023-05-10 13:27:15 +09:00
Shunsuke Shibayama
293f301a4b feat: add traits
* Sized
* Iterator
* Container
* Collection
* Indexable
* Mapping
2023-05-08 12:11:01 +09:00
Shunsuke Shibayama
a74309cbb3 fix: type-variable union bugs 2023-04-24 21:48:05 +09:00
Shunsuke Shibayama
3c40fc35e9 fix: #193
and many bugs
2023-04-22 23:43:03 +09:00
Shunsuke Shibayama
e0d8306b3e feat: add Dict.keys/values/get 2023-04-20 02:19:31 +09:00
Shunsuke Shibayama
9f110aeef4 fix: infinite recursion bug 2023-04-12 12:48:22 +09:00
Shunsuke Shibayama
fc85265d9f fix: union types bug & multi-pattern def bug 2023-04-10 22:26:46 +09:00
Shunsuke Shibayama
3ed863cef6 fix: infinite recursion 2023-04-10 00:38:41 +09:00
Shunsuke Shibayama
018080be41 fix: nested array bugs 2023-04-05 11:47:15 +09:00
Shunsuke Shibayama
cf0ebc67cf fix: eliminate Box::leak 2023-04-03 20:50:41 +09:00
Shunsuke Shibayama
c8ecb9903e refactor: Type::Fluctuation -> Type::Bounded 2023-04-01 22:52:02 +09:00
Shunsuke Shibayama
755f06bab3 test: check the number of warnings 2023-04-01 21:53:22 +09:00
Shunsuke Shibayama
0329b1a2e3 chore: add Dereferencer 2023-04-01 18:08:15 +09:00
Shunsuke Shibayama
7c9970f140 fix: smallest type selection 2023-04-01 08:58:30 +09:00
Shunsuke Shibayama
4ff0b64fc3 fix: type-instantiating bugs 2023-03-23 21:17:37 +09:00
Shunsuke Shibayama
0079aed860 fix: sub-unification bugs 2023-03-22 15:38:47 +09:00
Shunsuke Shibayama
a5ce33f2c4 refactor: inst (instance) -> imp (impl) 2023-03-19 23:24:00 +09:00
Shunsuke Shibayama
814748a6be fix: constraints instantiation bug 2023-03-08 11:06:08 +09:00
Shunsuke Shibayama
1c8da7f049 fix: refinement types bugs 2023-03-03 13:44:05 +09:00
Shunsuke Shibayama
5c6ea316f5 chore: remove unnecessary params 2023-03-03 10:01:05 +09:00
Shunsuke Shibayama
0495dd3d1b fix: eliminate unreachable errors 2023-03-02 10:51:01 +09:00
Shunsuke Shibayama
59f07f6d1d fix: Structural types bugs 2023-02-24 13:08:18 +09:00
Shunsuke Shibayama
7c748f223a fix: Structural subtyping bug
fix: `contains_tvar`
2023-02-24 09:49:22 +09:00
Shunsuke Shibayama
aaa6b40b24 feat: support Structural types for methods 2023-02-23 18:12:05 +09:00
Shunsuke Shibayama
2c3a27ed4b fix: Structural types instantiation/generalization 2023-02-23 02:35:05 +09:00
Shunsuke Shibayama
aa2cea60dd fix: quantified subroutine subtyping bugs 2023-02-22 02:40:51 +09:00
Shunsuke Shibayama
4dcca2b06d fix(typechecker): type generalization & dereference bugs
* `Context::subtype_of` now has `allow_cast` param. If this is `false`, cast-aware comparisons are not performed.
2023-02-21 17:04:52 +09:00
Shunsuke Shibayama
3fea50f8bc fix: type generalization bugs 2023-02-21 11:20:15 +09:00
Shunsuke Shibayama
4dca7468ab fix(typechecker): generalization bugs 2023-02-21 01:49:10 +09:00
Shunsuke Shibayama
caae853036 Update generalize.rs 2023-02-20 21:44:01 +09:00