×

模式匹配的成本微乎其微。 (英语) Zbl 1503.68034号

Chang,Bor-Yuh-Evan(编辑),《编程语言和系统》。2017年11月27日至29日,第15届亚洲研讨会,APLAS 2017,中国苏州。诉讼程序。查姆:斯普林格。莱克特。注释计算。科学。10695, 426-447 (2017).
摘要:函数式编程语言背后的模型是关闭\(\lambda\)-微积分也就是说,(lambda)演算的片段,其中的求值是弱的(即,在抽象之外),项是封闭的。众所周知,对于所有自然评估策略(按姓名/值/需要调用),在此设置中,“(测试)”(即评估)步骤的数量是一个合理的成本模型。本文通过考虑带模式匹配的闭(lambda)演算的扩展,试图缩小闭(lampda)演算法与实际语言之间的差距。很容易证明\(\beta\)加上匹配步骤提供了一个合理的成本模型。然后我们做的更精细:我们表明,在这种扩展环境中,仅\(\beta\)步骤,没有匹配步骤,也提供了一个合理的成本模型——从道德上讲,模式匹配是免费的,从复杂性角度来看。所有评估策略(名称/值/需求)都证明了结果,虽然证明本身很简单,但问题很微妙。特别是,我们表明,呼叫需求的定性等价定义可能表现得非常不同。
有关整个系列,请参见[Zbl 1375.68014号].

MSC公司:

第68页第18页 函数编程和lambda演算

软件:

Coq公司
PDF格式BibTeX公司 XML格式引用
全文: 内政部 哈尔

参考文献:

[1] Abadi,M.、Cardelli,L.、Curien,P.L.、Lévy,J.J.:显式替换。J.功能。程序。1(4), 375-416 (1991) ·Zbl 0941.68542号 ·doi:10.1017/S0956796800000186
[2] Accattoli,B.:显式替换的抽象因式分解定理。收录于:RTA,第6-21页(2012年)·Zbl 1437.68038号
[3] Accattoli,B.:COCA HOLA(2016)。https://sites.google.com/site/beniaminoaccattoli/coca-hola网站
[4] 阿卡托利:抽象机器的复杂性。在:WPTE@FSCD2016年,第1-15页(2016)·Zbl 1478.68083号
[5] Accattoli,B.:有用的MAM,强\(\lambda\)演算的合理实现。收信人:Vänänen,J.,Hirvonen,Au。,de Queiroz,R.(编辑)WoLLIC 2016。LNCS,第9803卷,第1-21页。斯普林格,海德堡(2016)。https://doi.org/10.1007/978-3-662-52921-8_1 ·Zbl 1478.68083号
[6] Accattoli,B.,Barenbaum,P.,Mazza,D.:蒸馏抽象机。收录于:ICFP 2014,第363-376页。ACM(2014)·Zbl 1345.68036号
[7] Accattoli,B.,Barras,B.:环境和抽象机器的复杂性(2017)。接受2017年PPDP·Zbl 1503.68034号
[8] Accattoli,B.,Bonelli,E.,Kesner,D.,Lombardi,C.:一个非标准化定理。收录于:POPL,第659-670页(2014年)·Zbl 1284.68121号
[9] Accattoli,B.,Coen,C.S.:关于火球的相对有用性。收录于:LICS 2015,第141-155页。IEEE计算机学会(2015)·Zbl 1394.68058号
[10] Accattoli,B.,Dal Lago,U.:(最左边最外面的)β-归约确实是不变的。逻辑方法计算。科学。12(1), 1-46 (2016) ·Zbl 1394.68137号 ·doi:10.2168/LMCS-12(1:4)2016
[11] Accattoli,B.,Guerrieri,G.:按值开放呼叫。In:Igarashi,A.(编辑)APLAS 2016。LNCS,第10017卷,第206-226页。查姆施普林格(2016)。https://doi.org/10.1007/978-3-319-47958-3_12 ·Zbl 1483.68063号 ·doi:10.1007/978-3-319-47958-3_12
[12] Accattoli,B.,Guerrieri,G.:实现开放式按值调用。收录人:Dastani,M.,Sirjani,M.(编辑)FSEN 2017。LNCS,第10522卷,第1-19页。查姆施普林格(2017)。https://doi.org/10.1007/978-3-319-68972-2_1 ·兹比尔1498.68063 ·doi:10.1007/978-3-319-68972-2_1
[13] Accattoli,B.,Paolini,L.:重温Call-by-value可解性。收录:Schrijvers,T.,Thiemann,P.(编辑)FLOPS 2012。LNCS,第7294卷,第4-16页。施普林格,海德堡(2012)。https://doi.org/10.1007/978-3-642-29822-6_4 ·Zbl 1354.68041号 ·doi:10.1007/978-3-642-29822-64
[14] Accattoli,B.,Sacerdoti Coen,C.:关于变量的值。收录:Kohlenbach,U.,Barceló,P.,de Queiroz,R.(编辑)WoLLIC 2014。LNCS,第8652卷,第36-50页。斯普林格,海德堡(2014)。https://doi.org/10.1007/978-3-662-44145-9_3 ·兹比尔1372.68054
[15] Ariola,Z.M.,Felleisen,M.:call-by need lambda演算。J.功能。程序。7(3), 265-301 (1997) ·Zbl 0887.68007号 ·doi:10.1017/S0956796897002724
[16] Barras,B.:preuves avec familles诱导剂自动验证系统。巴黎第七大学博士论文(1999年)
[17] Blelloch,G.E.,Greiner,J.:顺序函数语言中的并行性。摘自:《1995年联邦公共行政法案》,第226-237页。ACM(1995)
[18] Charguéraud,A.,Pottier,F.:对高效union-find实现的正确性和摊销复杂性进行机器检查验证。收录:Urban,C.,Zhang,X.(编辑)ITP 2015。LNCS,第9236卷,第137-153页。查姆施普林格(2015)。https://doi.org/10.1007/978-3-319-22102-1_9 ·Zbl 1465.68172号
[19] Cirstea,H.,Kirchner,C.:重写演算——第一部分逻辑J.IGPL 9(3),339-375(2001)·Zbl 0986.03026号 ·doi:10.1093/jigpal/9.3.339
[20] Coq开发团队:防Coq参考手册,8.6版(2016)。http://coq.inia.fr
[21] Dal Lago,U.,Martini,S.:衍生复杂性是一个不变成本模型。收录人:van Eekelen,M.,Shkaravska,O.(编辑)FOPARA 2009。LNCS,第6324卷,第100-113页。施普林格,海德堡(2010)。https://doi.org/10.1007/978-3642-15331-0_7 ·Zbl 1305.68107号 ·doi:10.1007/978-3642-15331-07
[22] Dal Lago,U.,Martini,S.:关于构造函数重写系统和lambda-calculus。收录人:Albers,S.、Marchetti-Paccamela,A.、Matias,Y.、Nikoletseas,S..、Thomas,W.(编辑)ICALP 2009。LNCS,第5556卷,第163-174页。斯普林格,海德堡(2009)。https://doi.org/10.1007/978-3642-02930-1_14 ·Zbl 1248.68275号 ·doi:10.1007/978-3-642-02930-11-14
[23] Danvy,O.,Zerny,I.:呼叫需求评估的综合操作说明。参见:PPDP 2013,第97-108页。ACM(2013)
[24] Fernández,M.,Siafakas,N.:环境机器的新发展。选举人。注释Theor。计算。科学。237, 57-73 (2009) ·Zbl 1294.03020号 ·doi:10.1016/j.entcs.2009.03.035
[25] Grégoire,B.,Leroy,X.:强还原的编译实现。收录于:ICFP 2002,第235-246页。ACM(2002年)·Zbl 1322.68053号
[26] Jay,C.B.,Kesner,D.:一流模式。J.功能。程序。19(2), 191-225 (2009) ·Zbl 1163.68315号 ·网址:10.1017/S0956796808007144
[27] Jeannin,J.,Kozen,D.:用胶囊计算。J.Automata语言梳。17(2-4), 185-204 (2012) ·Zbl 1322.68042号
[28] Kesner,D.:重温显式替换的计算理论。收录人:Duparc,J.,Henzinger,T.A.(编辑)CSL 2007。LNCS,第4646卷,第238-252页。斯普林格,海德堡(2007)。https://doi.org/10.1007/978-3-540-74915-8_20 ·Zbl 1179.03022号 ·doi:10.1007/978-3-540-74915-8_20
[29] Klop,J.W.,van Oostrom,V.,de Vrijer,R.C.:带模式的Lambda微积分。西奥。计算。科学。398(1-3), 16-31 (2008) ·Zbl 1145.68012号 ·doi:10.1016/j.tcs.2008.01.019
[30] Launchbury,J.:懒惰评估的自然语义。收录于:POPL 1993,第144-154页。ACM出版社(1993)
[31] Maraist,J.,Odersky,M.,Wadler,P.:call-by need lambda微积分。J.功能。程序。8(3), 275-317 (1998) ·Zbl 0918.03019号 ·网址:10.1017/S095679689800307
[32] Milner,R.:局部双图与合流:两个猜想。选举人。注释Theor。计算。科学。175(3), 65-73 (2007) ·兹比尔1277.68197 ·doi:10.1016/j.entcs.2006.07.035
[33] 不列颠哥伦比亚省皮尔斯:类型和编程语言。麻省理工学院出版社,剑桥(2002)·Zbl 0995.68018号
[34] Sands,D.,Gustavsson,J.,Moran,A.:Lambda计算和线性加速。收件人:Mogensen,T.Æ。,Schmidt,D.A.,Sudborough,I.H.(编辑)《计算的本质》。LNCS,第2566卷,第60-82页。斯普林格,海德堡(2002)。https://doi.org/10.1007/3-540-36377-7_4 ·Zbl 1026.68020号 ·doi:10.1007/3-540-36377-74
[35] Sergey,I.、Vytiniotis,D.、Peyton Jones,S.L.:理论和实践中的模块化高阶基数分析。收录于:POPL 2014,第335-348页(2014)·Zbl 1284.68151号
[36] Sestoft,P.:衍生出一个懒惰的抽象机器。J.功能。程序。7(3), 231-264 (1997) ·Zbl 0881.68049号 ·doi:10.1017/S0956796897002712
[37] 华兹华斯,C.P.:lambda-calculus的语义和语用。牛津大学博士论文(1971年)。第4章
[38] Walker,D.:子结构型系统。摘自:Pierce,B.C.(编辑)《类型和编程语言高级主题》,第3-43页。麻省理工学院出版社(2004)
[39] Wright,A.K.,Felleisen,M.:类型健全性的句法方法。Inf.计算。115(1), 38-94 (1994) ·Zbl 0938.68559号 ·doi:10.1006/inco.1994.1093
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。