Nix构建图:掷骰子决定下一步
A build graph that rolls dice

Nix 传统上要求构建图在运行前完全确定,但动态派生(dynamic derivations)正在改变这一规则。就像掷骰子一样,构建的下一步可以依赖前一步的结果,构建图在运行中动态生成。这使 Nix 从“应用式”系统转变为“单子式”系统,虽然带来了灵活性,但也让传统的 dry-run 等工具失效。我通过一个掷骰子决定构建深度的实验,展示了这种新范式如何打破预设,让构建过程充满未知。
Applicative 就像出门前列好购物清单,而 Monadic 则是边做饭边决定要不要再去买土豆。