Commit Graph

76 Commits (188208b95935617985e56e8911559dc92a9fc71b)

Author SHA1 Message Date
David Nadlinger 188208b959 core/typecheck: Implement unification for scalar indexing of ndarrays 2022-04-22 22:46:24 +01:00
David Nadlinger c74b7992f6 core/typecheck: Basic ndarray indexing support 2022-04-22 21:56:35 +01:00
David Nadlinger 72cb693e2e core/typecheck: First btis of NumPy-like array type inference
For readability of the codebase, I chose ndarray for the name of the
type, while [numpy.]array() is the name of the most commonly used
constructor.
2022-04-22 21:56:35 +01:00
ychenfo 26a4834254 fix warnings 2022-03-26 18:52:08 +08:00
ychenfo 80631fc92b Option type support (#224)
Co-authored-by: ychenfo <yc@m-labs.hk>
Co-committed-by: ychenfo <yc@m-labs.hk>
2022-03-26 15:09:15 +08:00
ychenfo 142e99a0f1 nac3core: fix broken tests 2022-03-08 13:34:08 +08:00
pca006132 63b0f29728 Fix broken tests 2022-03-05 00:27:51 +08:00
pca006132 f97f93d92c applied rustfmt and clippy auto fix 2022-02-21 18:27:46 +08:00
pca006132 d9cb506f6a nac3core: refactored for better error messages 2022-02-21 18:24:19 +08:00
pca006132 352831b2ca nac3core: removed legacy location definition 2022-02-13 22:39:24 +08:00
pca006132 b18626b149 Fix compilation and test failures 2022-02-12 22:50:32 +08:00
ychenfo ae8f82ccb0 nac3core: fix broken tests 2022-01-14 16:28:37 +08:00
ychenfo 9b3b47ce50 fix broken tests 2021-12-28 01:38:16 +08:00
pca006132 4b17511b4a Merge branch 'master' into KernelInvariant 2021-11-27 21:29:27 +08:00
ychenfo 4587088835 Constant Default Parameter Support (#98)
Add support for constant default parameter

Reviewed-on: M-Labs/nac3#98
Co-authored-by: ychenfo <yc@m-labs.hk>
Co-committed-by: ychenfo <yc@m-labs.hk>
2021-11-23 07:32:09 +08:00
pca006132 ba08deada6 nac3core: refactor codegen 2021-11-20 19:50:25 +08:00
pca006132 b1e83a1fd4 nac3core: type check invariants
This rejects code that tries to assign to KernelInvariant fields and
methods.
2021-11-06 22:48:08 +08:00
Sebastien Bourdeauducq bf7e2c295a integrate nac3parser 2021-11-03 17:11:00 +08:00
Sebastien Bourdeauducq 47f563908a basic string support (#30) 2021-11-02 23:22:49 +08:00
Sebastien Bourdeauducq 613020a717 test: add missing id_to_name entry 2021-11-02 18:34:48 +08:00
pca006132 fb92b6d364 nac3core: supports range iterator 2021-10-23 23:53:36 +08:00
pca006132 c4259d14d1 fixed some clippy warnings 2021-10-16 18:08:13 +08:00
pca006132 26076c37ba nac3core/typecheck: supports recursive type inference 2021-10-16 15:56:49 +08:00
pca006132 11144301ca nac3artiq: added simple host value support 2021-10-06 16:07:42 +08:00
pca006132 693ac7d336 nac3core/toplevel: added personality symbol config 2021-09-25 21:44:00 +08:00
pca006132 084efe92af nac3core: use string interning 2021-09-22 18:04:06 +08:00
ychenfo 35a94a8fc0 nac3core: fix broken test 2021-09-20 01:58:07 +08:00
ychenfo 917d447605 nac3core: clean up, fix broken test 2021-09-09 02:09:35 +08:00
ychenfo 87f25e1c5d nac3core: remove mutex on dyn symbol resolve 2021-09-08 19:27:32 +08:00
ychenfo 55335fc05d nac3core: top level simple type var handled 2021-09-08 02:27:12 +08:00
ychenfo 54b4572c5f nac3core: allow interior mutability to dyn symbolresolver, add add_id_def to symbolresolver trait, remove primitive from top level def list 2021-09-06 19:23:04 +08:00
ychenfo e2a9bdd8bc nac3core: toplevel no duplicate type var too early 2021-08-30 14:15:36 +08:00
pca006132 8c1c7fcfc3 nac3core: fixed broken tests 2021-08-27 13:04:51 +08:00
pca006132 a24e204824 type_inferencer: check defined identifiers during inference 2021-08-27 11:13:43 +08:00
pca006132 0608fd9659 fixed test and nac3standalone 2021-08-25 15:30:36 +08:00
ychenfo 01f7a31aae put parse ast into type annotation into one function 2021-08-24 17:44:37 +08:00
ychenfo 32773c14e0 move top level related things to a separate module 2021-08-24 17:19:17 +08:00
ychenfo 56f082ca7c handle type var associated with class/function partially, change llvm version of nac3embedded to 11
format
2021-08-23 17:00:32 +08:00
ychenfo fb5b4697a9 fix rebase conflict and some test failure with unifier's error message 2021-08-23 10:34:11 +08:00
ychenfo 40b062ce0f change the parse type annotation parameter type, refactoring top level 2021-08-23 02:54:45 +08:00
pca006132 957ceb74e4 nac3core/typecheck: added basic location information 2021-08-21 14:51:46 +08:00
ychenfo 6279dbb589 formating 2021-08-18 16:33:50 +08:00
ychenfo 4fcd48e4c8 try to use def list ast tuple and remove method_to_def_id map 2021-08-18 10:01:11 +08:00
ychenfo fa40fd73c6 formatted 2021-08-16 20:17:08 +08:00
ychenfo 3734663188 add RefCell to FunSignature in TypeEnum 2021-08-16 13:53:45 +08:00
pca006132 d3ad894521 removed code comment 2021-08-13 16:30:33 +08:00
pca006132 e2adf82229 threadpool for parallel code generation 2021-08-13 14:48:46 +08:00
pca006132 cb01c79603 removed Arc from TypeEnum 2021-08-13 13:33:59 +08:00
ychenfo 3a93e2b048 TypeEnum::TObj.param is now RefCell for interior mutability 2021-08-12 13:17:51 +08:00
pca006132 d46a4b2d38 symbol_resolver: fixed type variable handling 2021-08-12 10:25:32 +08:00