Commit graph

54 commits

Author SHA1 Message Date
Shunsuke Shibayama
cce95e7210 fix: crack crash 2023-10-02 21:50:59 +09:00
Shunsuke Shibayama
75b5b68831 feat: introduce bidirectional type checking 2023-09-05 16:44:38 +09:00
Shunsuke Shibayama
46c7982335 chore: eliminate todo!s 2023-08-24 23:54:31 +09:00
Shunsuke Shibayama
936b6e2f95 chore: eliminate clippy warns 2023-08-24 23:38:27 +09:00
Shunsuke Shibayama
97afccb94a fix: predicate instantiation bug 2023-08-22 14:13:06 +09:00
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
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
0dd5ac0775 Merge branch 'main' into shape 2023-08-02 15:59:24 +09:00
Shunsuke Shibayama
f298db96d1 fix: warn unused type variables 2023-08-02 15:07:31 +09:00
Shunsuke Shibayama
0b63e037ec Merge branch 'main' into shape 2023-08-02 10:51:16 +09:00
Shunsuke Shibayama
c63000f153 fix: quantification of And types 2023-08-02 10:45:07 +09:00
Shunsuke Shibayama
6c3536cc31 fix: declaration bugs 2023-07-31 11:08:53 +09:00
Shunsuke Shibayama
1ea2c74aaa chore: add TyParam::proj_call 2023-07-30 13:05:39 +09:00
Shunsuke Shibayama
664f265716 WIP 2023-07-28 00:27:04 +09:00
Shunsuke Shibayama
0152e368ab feat: support Array, Str, Bytes slice 2023-07-15 12:29:07 +09:00
Shunsuke Shibayama
0840d9bf60 fix: subtyping bug 2023-06-10 11:16:30 +09:00
Shunsuke Shibayama
06001bfc13 feat: refinement type specification 2023-05-20 16:40:26 +09:00
Shunsuke Shibayama
f39836abb0 fix: bugs generating unintended circular references 2023-05-18 18:38:44 +09:00
Shunsuke Shibayama
d573d07f20 chore: enhance the compile-time evaluator 2023-05-04 22:12:58 +09:00
Shunsuke Shibayama
730886021e feat: add special namespaces module/global 2023-05-03 14:32:09 +09:00
Shunsuke Shibayama
66cac2ccc2 fix: bugs & remove TypeCmpCache 2023-04-27 13:10:33 +09:00
Shunsuke Shibayama
3c40fc35e9 fix: #193
and many bugs
2023-04-22 23:43:03 +09:00
Shunsuke Shibayama
018080be41 fix: nested array bugs 2023-04-05 11:47:15 +09:00
Shunsuke Shibayama
9b3843b7a4 feat: add Complex, GenericArray, GenericSet 2023-03-24 11:47:46 +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
b318395a32 fix: avoid infinite recursion bugs 2023-03-22 01:28:22 +09:00
Shunsuke Shibayama
b40666d618 fix: subtyping bugs 2023-03-19 23:21:11 +09:00
Shunsuke Shibayama
814748a6be fix: constraints instantiation bug 2023-03-08 11:06:08 +09:00
Shunsuke Shibayama
d92f5284c8 feat: add restricted visibility syntax 2023-03-05 02:19:18 +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
dd36942256 feat: implement some typevar-related syntax sugar
* add `TypeBoundSpec::Omitted`
* add `TypeAppArgsKind`
2023-03-01 23:35:19 +09:00
Shunsuke Shibayama
70f2fe0234 fix: minor bugs 2023-02-26 03:40:13 +09:00
Shunsuke Shibayama
0f0d042020 fix: remove unnecessary type checkings 2023-02-25 17:14:38 +09:00
Shunsuke Shibayama
59f07f6d1d fix: Structural types bugs 2023-02-24 13:08:18 +09:00
Shunsuke Shibayama
aaa259d6c0 feat: add ConstTypeAsc 2023-02-23 20:17:59 +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
c9dda183ab feat: implement Structural types 2023-02-23 01:37:54 +09:00
Shunsuke Shibayama
5c4c43ab2f fix: failure of the type inference of another module 2023-02-22 11:55:02 +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
51d84fff9e fix: heterogenous array specifying 2023-02-20 00:08:35 +09:00
Shunsuke Shibayama
855d47f02c fix(typechecker): quantified types unifying 2023-02-19 02:00:54 +09:00
Shunsuke Shibayama
5b8715af27 Update instantiate.rs 2023-02-18 15:42:59 +09:00
Shunsuke Shibayama
3aeb63f51b feat: add Array.d.er/Bool.d.er/Nat.d.er 2023-02-18 00:24:25 +09:00