Software building is an unloved but unavoidable part of the software engineering process, which requires reliable and incremental automation to deliver reproducible results rapidly and continuously. Build systems and programming languages have historically been mostly evolving independently of each other; indeed, build systems are often extra-linguistic (a prototypical example being Make), which makes them generally applicable but also unaware of the accurate dependencies induced by programs in a particular language. Language-specific build systems can use the knowledge of syntax and semantics to guarantee reliable builds and are gaining popularity but typically provide only rudimentary support for polyglot programming.
The goal of this workshop is to bring together build automation experts and language designers and implementers to explore the interaction of build automation and programming languages in systems for incremental analysis, building, testing, packaging, and deployment of software. It is time for build automation and programming languages to start evolving together, because language design affects the “buildability” of programs in a significant way and, conversely, build automation can benefits from the (static) semantics of languages to deliver faster and more reliable builds.
The scope of the workshop includes:
- Interaction between programming language design and build system design
- Build systems, both general-purpose and language-specific
- IDEs, particularly incremental program analysis
- Feedback-directed optimisation, where program building and analysis are interlinked
- Incremental computation DSLs, aimed at incrementalising general computation
- Computational complexity of build systems
- Software package-management systems
Call for Contributions
We solicit the submission of extended abstracts (2 to 4 pages) in the standard ACM SIGPLAN format. The extended abstracts of accepted contributions will be provided as preprints on the workshop web page, but there will be no formal proceedings. We also encourage workshop attendees to present a poster about their work at the PLDI poster session.