Commit Graph

32 Commits (45870888356b870fa6f4f91aaa463b29d41d94b2)

Author SHA1 Message Date
ychenfo 4587088835 Constant Default Parameter Support (#98)
Add support for constant default parameter

Reviewed-on: #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
Sebastien Bourdeauducq bf7e2c295a integrate nac3parser 2021-11-03 17:11:00 +08:00
pca006132 cc83bbc63a nac3core/codegen: fix broken test 2021-10-17 13:07:45 +08:00
pca006132 279f47f633 nac3core/codegen: avoid sending unifiers
Previously, we have to copy types from one unification table to another,
and make the table sendable. This requires cloning (processing) the
whole table 3 times per function call which is not efficient and uses
more memory than required when the unification table is large.

We now use a concrete type table to only copy the type we need. This
reduces the overhead as we only need to process the unification table
for once (when we do the function codegen), and reduces memory usage by
a bit (but not noticeable when the unification table is small, i.e. the
types are simple).
2021-10-17 13:02:18 +08:00
pca006132 1f5bea2448 nac3core/codegen: refactor according to #23 2021-10-16 22:17:36 +08:00
pca006132 c4259d14d1 fixed some clippy warnings 2021-10-16 18:08:13 +08:00
pca006132 11144301ca nac3artiq: added simple host value support 2021-10-06 16:07:42 +08:00
pca006132 f0fdfe42cb nac3core: better impl of #24 2021-09-30 17:07:48 +08:00
pca006132 d4ed76d76e nac3core: implementing #24 2021-09-26 22:17:09 +08:00
pca006132 693ac7d336 nac3core/toplevel: added personality symbol config 2021-09-25 21:44:00 +08:00
pca006132 7d48883583 fixed tests 2021-09-22 18:04:06 +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 2b74895b71 nac3standalone, nac3core: can use top level composer to compile and run mandelbrot 2021-09-19 16:19:49 +08:00
ychenfo 2ac3f9a176 nac3core: separate top level compoer to a new file 2021-09-12 05:10:10 +08:00
ychenfo 1300b5ebdd nac3core: clean up and format 2021-09-08 19:45:36 +08:00
ychenfo 87f25e1c5d nac3core: remove mutex on dyn symbol resolve 2021-09-08 19:27:32 +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
pca006132 22a728833d nac3core: fixed broken test 2021-08-27 16:50:53 +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
ychenfo 1a21fb1072 fix codegen test about top level composer return type change 2021-08-25 18:00:01 +08:00
pca006132 e2b11c3fee codegen: fixed deadlock and added call test 2021-08-25 17:44:01 +08:00
pca006132 0608fd9659 fixed test and nac3standalone 2021-08-25 15:30:36 +08:00
ychenfo 32773c14e0 move top level related things to a separate module 2021-08-24 17:19:17 +08:00
pca006132 3279f7a776 codegen for simple function call, and various fixes 2021-08-19 15:30:15 +08:00
pca006132 6e424a6a3e fixed codegen test 2021-08-19 11:32:22 +08:00
pca006132 d30918bea0 worker thread panic handling 2021-08-13 16:20:14 +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
pca006132 1f6c16e08b fixed compilation failure 2021-08-12 13:56:51 +08:00
pca006132 77943a8117 added primitive codegen test 2021-08-12 13:56:06 +08:00