Shake before building: replacing make with haskell

Shake before building: replacing make with haskell
复制标题

构建前摇一摇:用 haskell 替换 make

DOI:
10.1145/2364527.2364538
复制
发表时间:
2012
期刊:
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
影响因子:
--
通讯作者:
Neil Mitchell
Neil Mitchell
中科院分区:
--
文献类型:
--
作者:
Neil Mitchell

文献摘要

被引文献

相似文献

大多数复杂的软件项目都是使用构建工具(例如make)编译的,该工具以满足用户定义的依赖关系的顺序运行命令。不幸的是,大多数构建工具要求在构建开始之前指定所有依赖项。这种限制使得许多依赖模式难以表达,尤其是那些涉及在构建时生成的文件的依赖模式。我们将展示如何消除此限制,允许在构建时指定其他依赖项。我们在Haskell库Shake中实现了我们的想法,并使用Shake编写了一个复杂的构建系统,编译了数百万行代码。
Most complex software projects are compiled using a build tool (e.g. make), which runs commands in an order satisfying user-defined dependencies. Unfortunately, most build tools require all dependencies to be specified before the build starts. This restriction makes many dependency patterns difficult to express, especially those involving files generated at build time. We show how to eliminate this restriction, allowing additional dependencies to be specified while building. We have implemented our ideas in the Haskell library Shake, and have used Shake to write a complex build system which compiles millions of lines of code.