Commit Graph
96 Commits
Author SHA1 Message Date
imxyy1soope1 7293cb9f75 feat: initial parallel impl 2025-06-08 17:27:43 +08:00
imxyy1soope1 3797544fc2 chore: cleanup 2025-06-08 00:59:31 +08:00
imxyy1soope1 0fd846e844 feat: builtins env (WIP) 2025-06-06 09:48:03 +08:00
imxyy1soope1 484cfa4610 feat: get rid of gc and cyclic thunk 2025-06-05 16:46:43 +08:00
imxyy1soope1 51f8df9cca feat: less gc (WIP) 2025-06-02 14:19:06 +08:00
imxyy1soope1 d3442e87e7 feat(gc): WIP 2025-06-02 12:00:38 +08:00
imxyy1soope1 20b2b6f1ef feat: lookup at downgrade time
works, but leaks memory
2025-06-01 09:20:04 +08:00
imxyy1soope1 7d6168fdae feat: ir env (WIP) 2025-05-30 18:29:09 +08:00
imxyy1soope1 c548c4c6ac feat: ignore flamegraph and perf.data 2025-05-29 07:52:19 +08:00
imxyy1soope1 541db02361 fix: repl 2025-05-28 23:01:59 +08:00
imxyy1soope1 c8276c1729 chore: cargo clippy 2025-05-28 22:47:35 +08:00
imxyy1soope1 f3bf44ab97 chore: cargo fmt 2025-05-28 21:59:45 +08:00
imxyy1soope1 99dce2e778 feat: gc-arena
finally...
2025-05-28 21:52:13 +08:00
imxyy1soope1 c3ace28af1 feat: gc (does compile, but WIP) 2025-05-27 21:08:59 +08:00
imxyy1soope1 319c12c1f4 fix(vm): lifetime (still does not compile) 2025-05-25 17:28:33 +08:00
imxyy1soope1 cc06369c5e feat: gc-arena (WIP, does not compile) 2025-05-25 17:18:54 +08:00
imxyy1soope1 b41fd38bcc feat(env): move env out of vm, 2025-05-24 09:28:59 +08:00
imxyy1soope1 5291e49313 fix(jit): should not be unreachable 2025-05-23 19:16:49 +08:00
imxyy1soope1 a47a08b051 feat: bumpalo 2025-05-23 12:09:53 +08:00
imxyy1soope1 53cbb37b00 optimize: make all call single arg
to allow more aggressive optimization
2025-05-23 09:21:40 +08:00
imxyy1soope1 f380e5fd70 optimize(value): less clone 2025-05-22 21:24:19 +08:00
imxyy1soope1 b0b73439fd optimize: enable lto 2025-05-22 19:49:14 +08:00
imxyy1soope1 6bb86ca2cf chore: cargo clippy 2025-05-22 19:22:38 +08:00
imxyy1soope1 c898b577b0 feat: less env clone 2025-05-22 19:21:14 +08:00
imxyy1soope1 dcd22ad1f3 feat: add compile cli 2025-05-21 21:28:56 +08:00
imxyy1soope1 2a19ddb279 feat: no clone in JIT
IMPORTANT: should not drop or create values in JIT anymore
2025-05-21 20:48:56 +08:00
imxyy1soope1 177acfabcf feat: generalize env 2025-05-21 09:33:43 +08:00
imxyy1soope1 36f29a9cac feat: eval cli 2025-05-20 21:45:13 +08:00
imxyy1soope1 9b3c3d6fe9 chore: cargo clippy 2025-05-20 18:39:09 +08:00
imxyy1soope1 736402dc53 chore: cargo fmt 2025-05-20 18:30:24 +08:00
imxyy1soope1 b4249ccd11 feat(jit): support multiple arg function call
note: performance regression?
2025-05-20 18:22:06 +08:00
imxyy1soope1 96fb6033a4 fix(builtins): should not appear in public value 2025-05-20 10:00:50 +08:00
imxyy1soope1 d0298ce2a6 optimize(env): single arg 2025-05-20 09:47:30 +08:00
imxyy1soope1 b4db46d48a chore: cargo fmt 2025-05-19 19:40:26 +08:00
imxyy1soope1 9e172bf013 feat(jit): fib! 2025-05-19 19:29:25 +08:00
imxyy1soope1 6d26716412 chore: cargo fmt 2025-05-19 11:33:18 +08:00
imxyy1soope1 e17c48f2d9 fix: builtins impl 2025-05-19 08:37:40 +08:00
imxyy1soope1 4124156d52 feat(jit): lookup 2025-05-18 21:52:36 +08:00
imxyy1soope1 af5a312e1e feat(jit): fix segfault 2025-05-18 17:07:49 +08:00
imxyy1soope1 f98d623c13 feat: JIT (unusable, segfault) 2025-05-18 15:02:02 +08:00
imxyy1soope1 29e959894d feat: JIT (WIP) 2025-05-17 22:38:05 +08:00
imxyy1soope1 95ebddf272 feat: JIT (WIP) 2025-05-17 20:54:36 +08:00
imxyy1soope1 c3d365d486 chore: cargo fmt 2025-05-17 20:08:16 +08:00
imxyy1soope1 ec61eaa140 feat: hashmap with_capacity 2025-05-17 20:04:12 +08:00
imxyy1soope1 7b55a15281 feat: use hashbrown 2025-05-17 19:46:45 +08:00
imxyy1soope1 fb14027845 feat(env): Rc 2025-05-17 19:10:10 +08:00
imxyy1soope1 ff9afd0cc1 feat: better builtins implementaion
get rid of circular references
2025-05-17 18:31:36 +08:00
imxyy1soope1 8480e0891b feat(value): less clone 2025-05-17 15:18:16 +08:00
imxyy1soope1 85f06a30cd feat: JIT (WIP) 2025-05-17 12:18:09 +08:00
imxyy1soope1 15df7e55c9 optimize: always inline single_op 2025-05-16 14:33:58 +08:00
imxyy1soope1 ed28efb623 feat: error handling (WIP) 2025-05-15 19:44:38 +08:00
imxyy1soope1 1e50322af0 optimize: dedup consts 2025-05-15 19:11:34 +08:00
imxyy1soope1 864be73e77 feat: less clone on symbol 2025-05-15 18:19:16 +08:00
imxyy1soope1 3e7a8a1c05 feat: generalize Stack 2025-05-15 11:20:59 +08:00
imxyy1soope1 2293b9e2de fix: thunk & function 2025-05-15 11:11:11 +08:00
imxyy1soope1 bcb6c48cfa fix(ir): inherit 2025-05-13 11:08:20 +08:00
imxyy1soope1 dcfe192aff feat: update rnix, support pipe operator 2025-05-13 11:07:56 +08:00
imxyy1soope1 2c73893757 feat: conditional test feature
fix error on stable toolchain
2025-05-11 20:52:34 +08:00
imxyy1soope1 1542f0349b feat: parse error 2025-05-11 20:37:12 +08:00
imxyy1soope1 d664d433dc feat: JIT (WIP) 2025-05-11 14:57:05 +08:00
imxyy1soope1 cfed44ebf4 chore: fmt 2025-05-11 13:49:44 +08:00
imxyy1soope1 05e82d4021 feat: lots of optimization
* allocate vm stack on the stack
* use Rc instead of Arc
* optimize recursive attribute set
2025-05-11 12:57:29 +08:00
imxyy1soope1 07b486848f fix(repl): history 2025-05-11 12:55:56 +08:00
imxyy1soope1 be0c416c13 feat: comment 2025-05-11 10:25:08 +08:00
imxyy1soope1 7cbb082dc4 feat: ref 2025-05-11 10:19:55 +08:00
imxyy1soope1 cbb29276d8 chore: fmt 2025-05-11 08:21:33 +08:00
imxyy1soope1 12aa654935 feat: error handling (partial) 2025-05-11 08:17:01 +08:00
imxyy1soope1 949352333e feat: benchmark 2025-05-11 00:51:32 +08:00
imxyy1soope1 f52687bc1e feat: ref 2025-05-11 00:32:44 +08:00
imxyy1soope1 561b9bf36a chore: tidy 2025-05-10 21:31:38 +08:00
imxyy1soope1 2b309fb825 feat: ready for JIT 2025-05-10 21:27:18 +08:00
imxyy1soope1 d04d46c905 chore: fmt 2025-05-10 20:13:00 +08:00
imxyy1soope1 046b03c60e refactor: function 2025-05-10 20:01:56 +08:00
imxyy1soope1 fa3193ea50 chore: clippy 2025-05-10 16:34:41 +08:00
imxyy1soope1 f86c088e97 feat: stash 2025-05-10 16:29:55 +08:00
imxyy1soope1 14045f7924 feat: stash 2025-05-08 16:58:22 +08:00
imxyy1soope1 ad7d1215b6 feat: stash 2025-05-08 10:36:35 +08:00
imxyy1soope1 d41aa0fef2 chore: cargo fmt 2025-05-07 08:51:18 +08:00
imxyy1soope1 7261159e57 chore: tidy 2025-05-07 08:12:30 +08:00
imxyy1soope1 550ad54f30 feat: recursive builtins 2025-05-05 16:43:14 +08:00
imxyy1soope1 bd783f1b96 feat: parse error 2025-05-05 14:19:42 +08:00
imxyy1soope1 f16740b837 feat: lazy regex 2025-05-05 14:12:32 +08:00
imxyy1soope1 6f7ef266a6 feat: symbol display 2025-05-05 12:01:49 +08:00
imxyy1soope1 b9dcc83c39 feat: usable? 2025-05-05 11:31:46 +08:00
imxyy1soope1 eea4a4ce9f feat: functions with formal parameters 2025-05-04 15:21:44 +08:00
imxyy1soope1 bc50464db9 feat: simple functions 2025-05-04 14:42:22 +08:00
imxyy1soope1 6ecd20854a feat: function (WIP) 2025-05-04 13:58:34 +08:00
imxyy1soope1 63fd380514 feat: function (WIP) 2025-05-03 21:35:36 +08:00
imxyy1soope1 cc88e7c65f chore: remove useless Hash impl 2025-05-03 20:46:39 +08:00
imxyy1soope1 2f8a530612 chore: remove dead code 2025-05-03 20:38:01 +08:00
imxyy1soope1 4a310ff317 refactor: type 2025-05-03 20:33:59 +08:00
imxyy1soope1 3f0cb2c2fa refactor: builtins, value 2025-05-03 17:04:28 +08:00
imxyy1soope1 030c61df52 refactor: flake.nix 2025-05-03 16:46:41 +08:00
imxyy1soope1 f78c516d17 feat: refactor 2025-05-03 16:22:05 +08:00
imxyy1soope1 43cfb9be62 fix: attrset update 2025-05-03 14:23:24 +08:00
imxyy1soope1 5e35da49ef feat: init 2025-05-03 12:49:48 +08:00