Dynamic derivations transform Nix from an applicative build system (where the entire dependency graph is known upfront) to a monadic one (where the graph can be defined as the build progresses), similar to a recipe that adapts based on intermediate results. While Nix historically supported monadic evaluation through import-from-derivation, dynamic derivations enable monadic scheduling with parallel execution and caching benefits.