×

按单构建系统:理论与实践。 (英语) Zbl 1442.68029号

总结:构建系统是可怕的,可怕的,而且是不受欢迎的。它们被世界各地的开发人员使用,但很少成为研究对象。在本文中,我们为开发和比较构建系统提供了一个系统的、可执行的框架,将它们视为景观中的相关点,而不是孤立的现象。通过梳理现有的构建系统,我们可以重新组合它们的组件,从而使我们能够用所需的属性创建新构建系统的原型。

MSC公司:

68甲18 函数编程和lambda演算
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Acar,U.A.、Blelloch,G.E.和Harper,R.(2002)自适应函数编程。第29届ACM SIGPLAN-SIGACT编程语言原理研讨会(POPL)会议记录。ACM,第247-259页·Zbl 1322.68034号
[2] Acar,U.A.,Blume,M.和Donham,J.(2007)自调整计算的一致语义。在欧洲编程研讨会上。斯普林格,第458-474页·兹比尔1187.68145
[3] Bernstein,D.J.(2003)当源文件发生更改时重建目标文件。网址:http://cr.yp.to/redo.html
[4] Capriotti,P.&Kaposi,A.(2014)《免费应用功能因子》。第153卷。打开发布关联·Zbl 1464.68053号
[5] Claessen,K.(1999)《穷人的并发单体》。J.功能。程序。,9(3), 313-323. ·兹比尔0948.68022
[6] Cormen,T.H.,Leiserson,C.E.,Rivest,R.L.&Stein,C.(2001)《算法导论》。麻省理工学院出版社·Zbl 1047.68161号
[7] De Levie,R.(2004)科学数据分析高级Excel。牛津大学出版社·Zbl 1053.68031号
[8] Demers,A.,Reps,T.&Teitelbaum,T.(1981)属性文法的增量评估及其在语法定向编辑器中的应用。第八届ACM SIGPLAN-SIGACT编程语言原理研讨会(POPL)会议记录。ACM,第105-116页。
[9] Dolstra,E.,De Jonge,M.,Visser,E.等人(2004)Nix:软件部署的安全和无策略系统。LISA,第4卷,第79-92页。
[10] Eichmann,D.(2019)探索哈德良的云构建。网址:https://web.archive.org/web/20191008171120/https://well-键入d.com/blog/2019/08/exploring-cloud-builds-in-hadrian/
[11] Erdweg,S.、Lichter,M.和Weiel,M.(2015)一个具有动态依赖性的合理且最佳的增量构建系统。ACM Sigplan通告50(10),89-106。
[12] Esfahani,H.、Fietz,J.、Ke,Q.、Kolomiets,A.、Lan,E.、Mavrinac,E.,Schulte,W.、Sanches,N.和Kandula,S.(2016)云构建:微软的分布式缓存构建服务。第38届国际软件工程会议论文集。ACM,第11-20页。
[13] Estevez,P.和Shetty,D.(2019)《构建系统的卡特翻译》(Translation of Build Systems a la Carte to Kotlin)。网址:https://web.archive.org/web/2019102124324/https://github.com/arrow-kt/arrow/blob/paco-tsalc/modules/docs/arrow-examples/src/test/kotlin/arrow/BuildSystemsALaCarte.kt。
[14] (2013)Buck:一种高性能构建工具。网址:https://buckbuild.com/
[15] Feldman,S.I.(1979)Make—维护计算机程序的程序。软件实践。实验9(4),255-265·Zbl 0393.68015号
[16] Gandhi,V.(2018)将《宪章》中的构建系统翻译为《铁锈》。网址:https://web.archive.org/web/20191020001014/https://github.com/cutculus/bsalc-alt-code/blob/master/BSalC.rs
[17] .(2016)巴泽尔。网址:http://bazel.io/
[18] (2017)回流:云中增量数据处理系统。网址:https://github.com/grailbio/reflow
[19] Grosskurth,A.(2007)纯粹自顶向下的软件重建。滑铁卢大学哲学硕士论文。
[20] 霍伊特·B、霍伊特-B和霍伊特(2009)《制造:更好的构建工具》。网址:https://github.com/SimonAlfie/manufacte ·Zbl 0051.11001号
[21] Hughes,J.(2000)《将单子归纳为箭头》。科学。计算。程序.37(1-3),67-111·Zbl 0954.68034号
[22] Hykes,S.(2013)Docker container:软件的标准化单位。网址:https://www.docker.com/what-container网站
[23] 街,简。(2015)增量:增量计算库。网址:https://github.com/janesteet/increment
[24] 街,简。(2018)沙丘:一个可组合的建筑系统。网址:https://github.com/ocaml/dune
[25] Jaskelioff,M.&O'Connor,R.(2015)二阶泛函的表示定理。J.功能。程序25,E13·Zbl 1420.68041号
[26] Kosara,R.(2008)A的十进制展开(4,2)。网址:https://web.archive.org/web/20080317104411/http://www.kosara.net/thoughts/ackermann42.html
[27] Levenshtein,V.I.(1966)能够纠正删除、插入和反转的二进制代码。《苏联物理学杜克拉迪》,第10卷,第8期,第707-710页·Zbl 0149.15905号
[28] Liang,S.Hudak,P.&Jones,M.(1995)《单声道变压器和模块化口译员》。第22届ACM SIGPLAN-SIGACT编程语言原理研讨会会议记录。ACM,第333-343页。
[29] Marlow,S.、Brandy,L.、Coens,J.和Purdy,J.(2014)《没有分叉:高效、并发和简洁数据访问的抽象》。ACM SIGPLAN通知49、325-337。
[30] Martin,E.(2017)忍者建造系统主页。网址:https://ninja-build.org/
[31] Mcbride,C.&Paterson,R.(2008)《应用程序设计与效果》。J.功能。程序.18(1),1-13·Zbl 1128.68020号
[32] (2011)Excel重新计算(msdn文档)。网址:https://msdn.microsoft.com/en-us/library/office/bb687891.aspx。也可在Internet档案中找到https://web.archive.org/web/20180308150857/https://msdn.microsoft.com/en-美国/图书馆/办公室/bb687891.aspx
[33] (2017)Git虚拟文件系统。网址:https://www.gvfs.io/
[34] Mitchell,N.(2012)《建筑前的摇晃:用Haskell取代Make》。ACM SIGPLAN通知47、55-66。
[35] Mitchell,N.(2013)《如何在Shake中编写定点构建规则》。网址:https://stackoverflow.com/questions/14622169/how-to-write-fixed-point-build-rules-in-shake-e-g-latex
[36] Mitchell,N.(2019)GHC重建时间-抖动分析。网址:https://neilmitchell.blogspot.com/2019/03/ghc-rebuild-times-shake-profiling.html
[37] Mokhov,A.、Mitchell,N.、Peyton Jones,S.和Marlow,S.(2016)非递归使人认为有害:大规模构建系统。第九届哈斯克尔国际研讨会论文集,哈斯克尔2016。ACM,第170-181页。
[38] Mokhov,A.、Mitchell,N.和Peyton Jones,S.(2018)按单构建系统。程序。ACM计划。语言2(ICFP),79:1-79:29·Zbl 1442.68029号
[39] Mokhov,A.、Lukyanov,G.、Marlow,S.和Dimino,J.(2019)选择性应用函子。程序。ACM计划。语言3(ICFP)。https://dl.acm.org/doi/10.1145/3341694
[40] Pennarun,A.(2012)重做:自顶向下的软件构建系统。网址:https://github.com/apenwarr/redo
[41] Peyton Jones,S.、Vytiniotis,D.、Weirich,S.和Washburn,G.(2006)GADT的基于简单统一的类型推断。ACM SIGPLAN通知41、50-61。
[42] Pottier,F.(2009)ML中的Lazy最小不动点。http://gallium.inria.fr/fpottier/publis/fpottie-fix.pdf
[43] Radul,A.(2009)《传播网络:计算的灵活表达基板》。麻省理工学院博士论文。
[44] Shal,M.(2009)构建系统规则和算法。网址:http://gittup.org/tup/build_system_rules_and_algorithms.pdf/
[45] Ghc团队。(2019)格拉斯哥哈斯克尔编译器主页。网址:https://www.haskell.org/ghc/
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。