Commit Graph

145 Commits

Author SHA1 Message Date
imxyy1soope1 62abfff439 fix: make update operator lazy 2026-01-16 20:38:41 +08:00
imxyy1soope1 55825788b8 chore: directly map nix boolean/null to javascript boolean/null 2026-01-16 20:38:15 +08:00
imxyy1soope1 b4e0b53cde fix: select 2026-01-14 17:38:15 +08:00
imxyy1soope1 6cd87aa653 chore: tidy 2026-01-14 17:38:12 +08:00
imxyy1soope1 a8683e720b fix(codegen): string escape 2026-01-12 17:44:19 +08:00
imxyy1soope1 3b6804dde6 feat: toJSON 2026-01-11 18:57:52 +08:00
imxyy1soope1 4c505edef5 fix: let 2026-01-11 18:57:52 +08:00
imxyy1soope1 75cb3bfaf1 fix: SCC interscope reference 2026-01-11 18:57:52 +08:00
imxyy1soope1 7d04d8262f fix: duplicate definition check in let-in 2026-01-11 18:57:52 +08:00
imxyy1soope1 c8e617fe24 fix: escape attr keys 2026-01-11 18:57:52 +08:00
imxyy1soope1 158784cbe8 fix: lazy select_with_default 2026-01-11 18:57:52 +08:00
imxyy1soope1 5b1750b1ba feat: thunk loop debugging 2026-01-11 18:57:52 +08:00
imxyy1soope1 160b59b8bf feat: __functor 2026-01-11 18:57:52 +08:00
imxyy1soope1 0538463bf0 fix: Path::canonicalize -> normalize_path
* Nix doesn't require path to exist
2026-01-11 18:57:52 +08:00
imxyy1soope1 621d4ea5c0 fix: lazy select_with_default 2026-01-11 18:57:52 +08:00
imxyy1soope1 3f7fd02263 feat: initial fetcher implementation 2026-01-11 18:57:14 +08:00
imxyy1soope1 c5240385ea feat: initial string context implementation 2026-01-11 11:18:14 +08:00
imxyy1soope1 95088103c8 feat: initial derivation implementation 2026-01-11 00:49:44 +08:00
imxyy1soope1 e33770c1bf chore: tidy 2026-01-10 22:04:23 +08:00
imxyy1soope1 fbf35ba4cd feat: implement coerceToString 2026-01-10 22:03:05 +08:00
imxyy1soope1 1adb7a24a9 feat: implement SCC analysis; refactor test; rename js helper functions 2026-01-10 22:03:05 +08:00
imxyy1soope1 36ccc735f9 refactor: avoid Pin hack 2026-01-10 15:16:48 +08:00
imxyy1soope1 fdda1ae682 fix: throw error on duplicated let entry 2026-01-10 11:55:51 +08:00
imxyy1soope1 e29e432328 feat: runtime error 2026-01-10 10:28:48 +08:00
imxyy1soope1 cc53963df0 refactor: less unwrap 2026-01-10 10:28:48 +08:00
imxyy1soope1 0376621982 refactor: flatten Ir::Const & Value::Const; add Ir::Builtin to represent
globally available builtins
2026-01-10 10:27:55 +08:00
imxyy1soope1 9cfffc440f refactor: tidy 2026-01-09 17:57:22 +08:00
imxyy1soope1 23950da6ea refactor: Runtime 2026-01-07 18:59:10 +08:00
imxyy1soope1 9d1d4a3763 feat: add missing primops 2026-01-06 22:00:18 +08:00
imxyy1soope1 c9455bd0a8 feat: persist JsRuntime 2026-01-06 18:02:35 +08:00
imxyy1soope1 c43d796dc0 refactor: avoid global state 2026-01-05 18:24:59 +08:00
imxyy1soope1 89b68d5fe9 refactor: rename IS_PRIMOP -> PRIMOP_METADATA 2026-01-04 17:32:58 +08:00
imxyy1soope1 45d777a157 feat: implement assert 2026-01-03 18:45:09 +08:00
imxyy1soope1 159267c70b fmt: tidy 2026-01-03 17:17:36 +08:00
imxyy1soope1 40884c21ad feat: builtins.import 2026-01-03 17:14:41 +08:00
imxyy1soope1 c79eb0951e fix(runtime::to_value): numbers are always NixFloat 2026-01-03 12:20:12 +08:00
imxyy1soope1 add715f560 fmt: biome & editorconfig 2026-01-02 23:21:46 +08:00
imxyy1soope1 073c95f2c3 feat: IS_PRIMOP 2026-01-02 23:14:44 +08:00
imxyy1soope1 f1670e8397 feat: cache IS_THUNK symbol 2026-01-02 22:41:07 +08:00
imxyy1soope1 210923fd92 feat: rewrite runtime.js with typescript 2026-01-02 22:21:38 +08:00
imxyy1soope1 d2ed3935ca feat: builtins 2026-01-02 18:38:11 +08:00
imxyy1soope1 bd77cde867 feat: list concat & attrs update 2026-01-02 13:05:36 +08:00
imxyy1soope1 6c8356fd48 chore(flake.nix): remove nixConfig 2026-01-02 12:27:53 +08:00
imxyy1soope1 def1e26e7a feat: cli 2026-01-02 03:13:54 +08:00
imxyy1soope1 aab3b3d5c0 feat: init 2026-01-02 02:54:52 +08:00