Commit graph

40 commits

Author SHA1 Message Date
Shunsuke Shibayama
1b4c9aa9c3 Move eval.rs to context 2022-09-05 23:50:32 +09:00
Shunsuke Shibayama
7e08f0b0c6 Fix type checker bugs 2022-09-05 23:46:31 +09:00
Shunsuke Shibayama
4a8572a9fe Fix type inference imcompleteness
Add intersection type inference
2022-09-05 21:55:16 +09:00
Shunsuke Shibayama
d5f2b5f450 Add register_gen_*
`register_*` renamed `register_const_*`
2022-09-05 14:24:30 +09:00
Shunsuke Shibayama
fb0d2f5737 Refactor 2022-09-05 11:11:57 +09:00
Shunsuke Shibayama
cf0858ddde Add TypeObj 2022-09-04 00:46:15 +09:00
Shunsuke Shibayama
22cb113fcd Unify Type::Class/Trait 2022-09-03 22:22:49 +09:00
Shunsuke Shibayama
78c0b60f3f Fix inference bugs 2022-09-03 15:22:44 +09:00
Shunsuke Shibayama
e1eebb252f Fix constant evaluation methods to return EvalResult 2022-09-03 11:59:18 +09:00
Shunsuke Shibayama
c4bff5d54a Add some const funcs & Remove Evaluator 2022-09-03 01:45:00 +09:00
Shunsuke Shibayama
d2ed277685 Impl ShortenedRecord desugaring 2022-09-02 14:40:01 +09:00
Shunsuke Shibayama
fc5ad07660 Update parser 2022-09-02 11:45:47 +09:00
Shunsuke Shibayama
de7832bf33 Implement variable-length/keyword arguments 2022-08-30 20:31:56 +09:00
Shunsuke Shibayama
4232243842 Fix type system bugs 2022-08-28 01:41:36 +09:00
Shunsuke Shibayama
026b891c22 WIP: Improve type inference system 2022-08-27 23:51:35 +09:00
Shunsuke Shibayama
263bf70baf WIP: fix stack overflow bug 2022-08-27 01:31:18 +09:00
Shunsuke Shibayama
baab3f1f90 WIP: Restructuring Context 2022-08-26 23:22:45 +09:00
Shunsuke Shibayama
6727b00054 Split custom types into Class and Trait 2022-08-26 17:24:55 +09:00
Shunsuke Shibayama
400c173f38 Move all constructors of Type to constructors 2022-08-26 12:39:35 +09:00
Shunsuke Shibayama
5b5234f477 Create erg_type crate 2022-08-26 11:52:11 +09:00
Shunsuke Shibayama
b2322c7fd7 Split ty module into several modules 2022-08-26 09:27:51 +09:00
Shunsuke Shibayama
c4986248f0 Divide Context into some modules by functions 2022-08-26 08:36:25 +09:00
Shunsuke Shibayama
f78c89665b WIP: fix type checker bugs
Instantiate each time when comparing quantified types
2022-08-25 02:23:41 +09:00
Shunsuke Shibayama
7633618e76 WIP 2022-08-24 17:23:48 +09:00
Shunsuke Shibayama
45945ae9b4 WIP: type checking for records 2022-08-23 14:48:56 +09:00
Shunsuke Shibayama
20aaf6a53e Impl: variable visibility 2022-08-22 23:15:07 +09:00
Shunsuke Shibayama
a6f9e89ffc Parser: impl Record 2022-08-22 17:21:43 +09:00
Shunsuke Shibayama
e54b627507 Fix type-checker bugs 2022-08-22 02:57:52 +09:00
Shunsuke Shibayama
4ba1f4f59a Remove ConstObj (merge into ValueObj) 2022-08-20 07:38:33 +09:00
Shunsuke Shibayama
791107cdd3 Fixed a type inference bugs
Pass source code line numbers instead of error numbers as a temporary hack
2022-08-19 01:33:05 +09:00
ShantanuKumar
4e7be1400b cargo fmt 2022-08-17 11:21:09 +02:00
Shunsuke Shibayama
4e91cb81cb
Merge branch 'main' into clippy 2022-08-17 01:26:00 +09:00
Shunsuke Shibayama
8028ed8431 Update version (v0.2.3)
Many type inference bugs have been fixed in this version.

Other changes:
Fix: REPL server starts for file input
Improve: Error messages now show operators as human-readable
2022-08-16 23:27:09 +09:00
Félix Saparelli
8efffbfbc0
Apply formatting 2022-08-15 17:44:15 +12:00
Félix Saparelli
7d3116f546
Apply trivial clippy fixes 2022-08-15 17:37:20 +12:00
Shunsuke Shibayama
6d3dda8129 WIP: Impl Context::monomorphise
Impled: TyVarContext::sort_bounds
2022-08-15 03:39:45 +09:00
Shunsuke Shibayama
1c3a3a7d0b Cargo fmt 2022-08-14 01:45:15 +09:00
Shunsuke Shibayama
30f6e98715 Fix polymorphic type infering bugs
Delete: DefaultParamSignarure
Add: some convinient APIs (py, p!)

Inferences can now be made that take into account the variance of polymorphic types
2022-08-14 00:45:55 +09:00
Shunsuke Shibayama
6726d93f65 Do cargo fmt 2022-08-13 07:02:07 +09:00
Shunsuke Shibayama
f9d91aa38e Organize crates 2022-08-13 06:38:12 +09:00
Renamed from src/erg_compiler/eval.rs (Browse further)