Commit Graph

50 Commits

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