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 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.
%0 Journal Article
%1 Mokhov:2018:BSL
%A Mokhov, Andrey
%A Mitchell, Neil
%A Peyton Jones, Simon
%D 2018
%I ACM
%J Proc. ACM Program. Lang.
%K Ant Bazel BuildSystem Concurrency Dependencies Haskell Make Scheduling
%N ICFP
%P 79:1--79:29
%R 10.1145/3236774
%T Build Systems à La Carte
%U https://www.microsoft.com/en-us/research/publication/build-systems-la-carte/
%V 2
%X 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 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.
@article{Mokhov:2018:BSL,
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 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.},
acmid = {3236774},
added-at = {2018-10-11T11:51:52.000+0200},
articleno = {79},
author = {Mokhov, Andrey and Mitchell, Neil and Peyton Jones, Simon},
biburl = {https://www.bibsonomy.org/bibtex/2273df830569a527696bd2128e3a27266/gron},
description = {Build systems à la carte},
doi = {10.1145/3236774},
interhash = {d86a0d10db893052959ff31272eaad82},
intrahash = {273df830569a527696bd2128e3a27266},
issn = {2475-1421},
issue_date = {September 2018},
journal = {Proc. ACM Program. Lang.},
keywords = {Ant Bazel BuildSystem Concurrency Dependencies Haskell Make Scheduling},
month = jul,
number = {ICFP},
numpages = {29},
pages = {79:1--79:29},
publisher = {ACM},
timestamp = {2018-10-11T11:51:52.000+0200},
title = {Build Systems \`{a} La Carte},
url = {https://www.microsoft.com/en-us/research/publication/build-systems-la-carte/},
volume = 2,
year = 2018
}