Build Systems à la Carte¶
Mokhov, A., Mitchell, N., & Peyton Jones, S. (2018). Build Systems à la Carte. ACM.
Cited by¶
3 citations across 3 artifacts.
Each citation links to the sentence it supports in the citing article.
Primes¶
- Lazy Evaluation
- In build systems and dependency engines the build graph specifies possible work and demand prunes it to actual work, rebuilding a target only when its output is required and its inputs have changed.
This sourceAnalyzes build systems as demand-driven graphs where a target is rebuilt only when its output is required and its inputs have changed.
SupportedVerified against the work's full text
Defines a build as bringing a requested target and its dependencies up to date, and minimality as rerunning tasks only when their inputs changed.
“A build system is minimal if it executes tasks at most once per build and only if they transitively depend on inputs that changed since the previous build.”
- In build systems and dependency engines the build graph specifies possible work and demand prunes it to actual work, rebuilding a target only when its output is required and its inputs have changed.
Domain-specific¶
- Topological Sorting
- Build systems and dependency resolution — make, Bazel, npm, pip, and Cargo topologically sort package or compilation dependency graphs to determine build order.
This sourceOffers a systematic framework for developing and comparing build systems.
Supported in partVerified against the publisher's abstract
“In this paper we offer a systematic, and executable, framework for developing and comparing build systems, viewing them as related points in landscape rather than as isolated phenomena.”
- Build systems and dependency resolution — make, Bazel, npm, pip, and Cargo topologically sort package or compilation dependency graphs to determine build order.
Mechanisms¶
- Demand-Driven Build Graph
- Because a regenerated library that produces byte-identical output can stop the rebuild from propagating further (early cutoff), a whitespace-only change often rebuilds one target and halts.
This sourceDefines early cutoff as halting downstream rebuild propagation when an updated target produces an unchanged value.
- Because a regenerated library that produces byte-identical output can stop the rebuild from propagating further (early cutoff), a whitespace-only change often rebuilds one target and halts.
Verification¶
Does it exist? Confirmed. This work's DOI resolves to a registered record, which fixes its identity. That is all it fixes.
Does it back the claim? Read against the text for 2 of 3 citations: 1 supported, 1 supported in part. Each verdict is shown under its citation below, with what in the work backs the sentence.
Support is checked per citation rather than per work — the same source can be cited soundly in one article and wrongly in another. Per-citation recording began recently, so a citation with no recorded check is a gap in the record rather than evidence it went unchecked.
See how references were verified.
Registry ID ref:ca524189bbfb · see in the full table