Toggle Main Menu Toggle Search

Open Access padlockePrints

Non-recursive Make Considered Harmful: Build Systems at Scale

Lookup NU author(s): Dr Andrey Mokhov



Most build systems start small and simple, but over time grow into hairy monsters that few dare to touch. As we demonstrate in this paper, there are a few issues that cause build systems major scalability challenges, and many pervasively used build systems (e.g. Make) do not scale well.This paper presents a solution to the challenges we identify. We use functional programming to design abstractions for build systems, and implement them on top of the Shake library, which allows us to describe build rules and dependencies. To substantiate our claims, we engineer a new build system for the Glasgow Haskell Compiler. The result is more scalable, faster, and spectacularly more maintainable than its Make-based predecessor.

Publication metadata

Author(s): Mokhov A, Mitchell N, Peyton-Jones S, Marlow S

Publication type: Conference Proceedings (inc. Abstract)

Publication status: Published

Conference Name: 9th International Symposium on Haskell

Year of Conference: 2016

Pages: 170-181

Online publication date: 08/09/2016

Acceptance date: 02/04/2016

Date deposited: 14/07/2016

Publisher: ACM


DOI: 10.1145/2976002.2976011

Library holdings: Search Newcastle University Library for this item

Series Title: ACM Digital Library

ISBN: 9781450344340