Hasty Briefsbeta

Bilingual

A build graph that rolls dice

a day ago
  • Dynamic derivations transform Nix from an applicative build system (graph known upfront) to a monadic one (graph defined during build).
  • Traditional Nix requires the entire build graph to be known ahead of time, enabling tools like dry-run and nix-diff.
  • Import from derivation already provided monadic behavior in the evaluator, but dynamic derivations move bind to the scheduler, allowing parallelism, caching, and remote builds.
  • A practical example: rolling a six-sided die to decide whether to continue building a chain, showing graph depth varying randomly.
  • Dynamic derivations open possibilities beyond lang2nix, such as game emulation, state-space search, crawling, and fuzzing.
  • Current tooling cannot introspect dynamic build graphs before execution, limiting ecosystem adaptation.