Myriad-Dreamin
1d49e110e2
dev: cache expression information correctly ( #736 )
...
* dev: cache expression information correctly
* rev
2024-10-27 20:20:59 +08:00
Myriad-Dreamin
81ebc8a635
feat: implement expression checker ( #714 )
...
* feat: implements expression checker
* dev: resolve information
* dev: delete def_use
* stage
* stage
* stage
* stage concurrent
* stage concurrent
* dev: better concurrency
* dev: final constant evaluation improvement
* dev: change reference site
* dev: handle comments
* dev: remove indirect import structure
* dev: adjust linked_def impl
* dev: finalize goto definition impl
* dev: replace all old import and def_use analyses with expr analysis
* dev: update expr_of snapshots
* dev: split def/expr, refactor definition
* dev: more consistent definition solver
* dev: rename definition crate
* dev: references work again
* dev: resolve root decl
* dev: resolve root decl
* dev: resolve global definitions
* dev: resolve tokens with world
* feat: render semantic tokens with expression information
* dev: loop detection
* dev: recover type checking
* dev: recover more type checking
* dev: refactor analysis context
* fix: process case of spread left
* dev: label inference
* dev: recover more signature checking
* dev: recover more ident reference checking
* dev: pass all tests
* Revert "dev: dirty changes"
This reverts commit 9ae2dacd0c96851e088feea76c61c184a1cf9722.
* test: update snapshot
* fix: bad cached signatures
* fix: slash problem
2024-10-25 23:52:11 +08:00
Myriad-Dreamin
6d62bffdeb
feat: type induction on builtin values ( #694 )
2024-10-17 01:02:00 +08:00
Myriad-Dreamin
02bbdbf8d9
feat: incorporated with static function signature analysis ( #688 )
...
* feat: finished function signature analysis
* dev: update snapshot
* dev: broken snapshot
2024-10-16 15:53:43 +08:00
Myriad-Dreamin
a3f100e7cb
refactor: change PrimarySignature
structure to merge type checking info ( #687 )
...
* dev: support spread left params
* dev: stage merge
* dev: remove ParamSpecShort
* chore: remove useless code
* dev: merge all things back
* fix: testing
* fix: testing
* remove: useless method
2024-10-16 14:35:24 +08:00
Myriad-Dreamin
1f5be314a7
dev: shrink size of tag types ( #686 )
...
* dev: shrink size of tag types
* update: testing
2024-10-16 14:32:17 +08:00
Myriad-Dreamin
b9da92175e
dev: merge signature docs and rest docs ( #685 )
...
* dev: deduplicate code
* dev: merge signature docs and rest docs
* dev: change struct of the `DocString`
* dev: improve structure of SymbolDocs
2024-10-16 11:16:16 +08:00
Myriad-Dreamin
c17e0c787e
feat: check variable type annotations in docstring ( #681 )
...
* feat: check variable type annotations in docstring
* dev: rollback playground changes
* dev: refactor a bit
2024-10-15 21:04:35 +08:00
Myriad-Dreamin
4aeb3747bc
feat: cache docstring building (Part. 2) ( #680 )
...
* feat: cache docstring building (Part. 2)
* dev: fix import
* dev: change some variable names
2024-10-15 18:50:43 +08:00
Myriad-Dreamin
3ed401740e
feat: read and check type annotations in docstring (Part. 1) ( #679 )
...
* feat: read and check type annotations in docstring
* fix: remove test.snap in playground
* chore: refactor and remove some dirty changes
2024-10-15 14:52:50 +08:00
Myriad-Dreamin
e9ec60d2b5
feat: introduce type context trait TyCtx
( #670 )
...
* feat: introduce `TyCtx`
* core: simplify import
* feat: implement local bind apis
* build: update cargo.lock
* dev: rename `LocalTyCtx` back to `TyCtxMut`
2024-10-14 12:31:07 +08:00
Myriad-Dreamin
5898c60de1
feat: elementary tuple method checker ( #669 )
...
* feat: elementary tuple method checker
* dev: remove println!
2024-10-14 11:34:03 +08:00
Myriad-Dreamin
191c943936
feat: elementary select checker ( #668 )
...
* feat: elementary select checker
* dev: remove println!
2024-10-13 15:14:24 +08:00
Myriad-Dreamin
cc29728fc9
feat: implements ord for Ty
( #667 )
...
* feat: implements partial ord for `Ty`
* feat: implements ord for `Ty`
* test: update snapshot
2024-10-13 14:37:03 +08:00
Myriad-Dreamin
9835ffe6ab
docs: add documents to type system ( #295 )
...
* docs: simplify a bit
* docs: add documents to type system code
* docs: update
* refactor: rename
2024-05-16 11:52:41 +08:00
Myriad-Dreamin
c182c5fadc
chore: move typst-specific types ( #294 )
...
* chore: move typst-specific types
* QAQ
2024-05-16 00:30:32 +08:00
Myriad-Dreamin
d995ded9b2
feat: implement naive substitution (β-reduction) ( #292 )
...
* feat: implement naive substitution (β-reduction)
* fix: order
* dev: harder tests
2024-05-15 18:42:06 +08:00
Myriad-Dreamin
8cbd32c724
fix: make snapshot stable ( #283 )
...
* fix: make snapshot stable
* >_<
2024-05-14 18:38:02 +08:00
Myriad-Dreamin
66e6aff2b4
dev: don't use bug prone ever_be
( #280 )
2024-05-13 21:29:59 +08:00
Myriad-Dreamin
f66d50c51f
dev: remove some interned uses ( #279 )
2024-05-13 21:04:10 +08:00
Myriad-Dreamin
fff227f3ae
dev: interning types ( #271 )
...
* refactor: a bit
* fix: named completion
* dev: replace complete_literal by complete_type
* dev: remove unused code
* dev: basic interner
* dev: basic types
* dev: type operations
* dev: migrate all type definitions
* dev: check syntax and builtin types
* dev: make TypeSimplifier simply work
* dev: make TypeDescriber simply work
* dev: make TypeChecker simply work
* dev: recover type check
* fix: context check
* fix: use after free in seen fields
* fix: typed with
* fix: record type on field
* dev: check type of constructors and element containing
* dev: show sig by type
* fix: mixed context checking
* QAQ
* >_<
* dev: fix documents
2024-05-11 21:12:49 +08:00