2020
DOI: 10.1017/s0956796820000088
|View full text |Cite
|
Sign up to set email alerts
|

Build systems à la carte: Theory and practice

Abstract: Build systems are awesome, terrifying – and unloved. They are used by every developer around the world, but are rarely the object of study. In this paper, we offer a systematic, and executable, framework for developing and comparing build systems, viewing them as related points in a landscape rather than as isolated phenomena. By teasing apart existing build systems, we can recombine their components, allowing us to prototype new build systems with desired properties.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1

Citation Types

0
1
0

Year Published

2021
2021
2022
2022

Publication Types

Select...
3
2

Relationship

1
4

Authors

Journals

citations
Cited by 7 publications
(1 citation statement)
references
References 24 publications
0
1
0
Order By: Relevance
“…While forward build systems have been around a long time, they are undoubtedly less popular than the more traditional backward build systems. Backward build systems were classified in the Build Systems à la Carte paper [11], which contains small representative implementations for each type of build system, along with definitions of correctness (that the result is equivalent to rebuilding everything) and minimality (only actions whose dependencies have changed are run). However, the implementations were in Haskell, and the definitions were specified informally.…”
Section: Related Workmentioning
confidence: 99%
“…While forward build systems have been around a long time, they are undoubtedly less popular than the more traditional backward build systems. Backward build systems were classified in the Build Systems à la Carte paper [11], which contains small representative implementations for each type of build system, along with definitions of correctness (that the result is equivalent to rebuilding everything) and minimality (only actions whose dependencies have changed are run). However, the implementations were in Haskell, and the definitions were specified informally.…”
Section: Related Workmentioning
confidence: 99%