×

可扩展的数据排序优化。 (英语) Zbl 1485.68062号

Yang,Hongseok(编辑),《编程语言和系统》。2017年4月22日至29日在瑞典乌普萨拉举行的第26届欧洲编程研讨会(ESOP 2017),是欧洲软件理论与实践联合会议(ETAPS 2017)的一部分。诉讼程序。柏林:斯普林格。莱克特。注释计算。科学。10201, 476-503 (2017).
总结:精化类型将类型检查转化为轻量级验证。精化类型的经典形式是数据分类精化,其中数据分类识别归纳数据类型的子类。
用于数据排序优化的现有类型系统要求在声明类型时指定类型的所有优化;只有通过复制类型定义,从而复制代码,才能获得同一类型的多个精化。
我们丰富了签名的传统概念,它描述了数据仓库中的居民,从而允许通过签名扩展进行重新定义,而不会重复定义。由于签名的任意更新可能会使用于检查大小写表达式的反转原则失效,因此我们开发了签名格式良好性的定义,以确保扩展保持现有的反转原则。这个定义允许程序的不同部分以不同的方式扩展相同的签名,而不会相互冲突。每个部分都可以独立进行类型检查,允许单独编译。
关于整个系列,请参见[Zbl 1360.68021号].

MSC公司:

68号30 软件工程的数学方面(规范、验证、度量、需求等)
PDF格式BibTeX公司 XML格式引用

参考文献:

[1] Comon,H.、Dauchet,M.、Gilleron,R.、Jacquemard,F.、Lugiez,D.、Tison,S.、Tommasi,M.:树自动机技术和应用(2008)。https://gforge.inria.fr/frs/download.php/file/10994/tata.pdf。2008年11月18日访问
[2] Cousot,P.,Cousot,R.:抽象解释:通过构造或近似不动点对程序进行静态分析的统一格模型。摘自:《程序设计语言原理》,第238-252页(1977年)
[3] Davies,R.:实用改进类型检查。卡内基梅隆大学博士论文,CMU-CS-05-110(2005)
[4] Davies,R.:交叉口和数据排序优化的SML检查器(发音为“cider”)(2013年)。https://github.com/rowandavies/sml-cidre网址
[5] Davies,R.,Pfenning,F.:交叉类型和计算效果。In:ICFP,第198-208页(2000)·Zbl 1321.68147号
[6] 邓菲尔德(Dunfield),J.:使用星尘(stardust)进行精细的排版。In:编程语言符合程序验证(PLPV 2007)(2007a)
[7] Dunfield,J.:一个统一的类型细化系统。卡内基梅隆大学博士论文,CMU-CS-07-129(2007b)
[8] Dunfield,J.,Krishnaswami,N.R.:对高秩多态性进行全面而简单的双向类型检查。In:ICFP(2013)。arXiv:1306.6032号·兹比尔1323.68204
[9] 邓菲尔德,J。;Pfenning,F。;Gordon,AD,调用值语言中交集和并集的类型赋值,软件科学和计算结构基础,250-266(2003),海德堡:斯普林格·Zbl 1029.68098号 ·doi:10.1007/3-540-36576-1_16
[10] Dunfield,J.,Pfenning,F.:三向类型检查。摘自:《程序设计语言原理》,第281-292页(2004年)·Zbl 1325.68062号
[11] Freeman,T.:卡内基梅隆大学硕士博士论文的精化类型,CMU-CS-94-110(1994)
[12] Freeman,T.,Pfenning,F.:ML的精化类型。In:编程语言设计与实现,pp.268-277(1991)
[13] Gentzen,G.:Untersuchungenüber das logische Schließen。Mathematische Zeitschrift 39、176-210、405-431(1934)。英语翻译,逻辑演绎研究。收录于:Szabo,M.(编辑)《Gerhard Gentzen论文集》,第68-131页。北荷兰人(1969年)
[14] 哈珀,R。;Honsell,F。;Plotkin,G.,《定义逻辑的框架》,J.ACM,40,1,143-184(1993)·Zbl 0778.03004号 ·数字对象标识代码:10.1145/138027.138060
[15] Kennedy,A.:编程语言和维度。剑桥大学博士论文(1996年)
[16] Koot,R.,Hage,J.:具有不精确异常语义的非严格高阶函数语言的基于类型的异常分析。摘自:《部分评估和程序操作研讨会论文集》,第127-138页(2015)
[17] Lovas,W.:逻辑框架的细化类型。卡内基梅隆大学博士论文,CMU-CS-10-138(2010)·Zbl 1202.68108号
[18] Pfenning,F。;Schürmann,C。;Ganzinger,H.,《系统描述:第十二个——演绎系统的元逻辑框架》,《自动演绎——CADE-16202-206》(1999),海德堡:斯普林格·数字对象标识代码:10.1007/3-540-48660-7_14
[19] Pientka,B。;邓菲尔德,J。;Giesl,J。;Hähnle,R.,Beluga:演绎系统编程和推理框架(系统描述),自动化推理,15-21(2010),海德堡:施普林格,海德堡·Zbl 1291.68366号 ·doi:10.1007/978-3642-14203-12
[20] Poswolsky,A.,Schürmann,C.:系统描述:Delphin——演绎系统的函数式编程语言。摘自:逻辑框架和元语言:理论与实践国际研讨会(LFMTP 2008)。理论计算机科学电子笔记,第228卷,第135-141页(2009年)
[21] Reynolds,J.C.:类型、抽象和参数多态性。摘自:信息处理83,第513-523页。Elsevier(1983)。http://www.cs.cmu.edu/afs/cs/user/jcr/ftp/typesabpara.pdf
[22] Reynolds,J.C.:编程语言Forsythe的设计。技术报告CMU-CS-96-146,卡内基梅隆大学(1996)
[23] Rondon,P.、Kawaguchi,M.、Jhala,R.:液体类型。摘自:编程语言设计与实现,第159-169页(2008)
[24] 瓦祖,北。;Rondon,PM;贾拉(Jhala,R.)。;Felleisen,M。;Gardner,P.,《抽象精化类型,编程语言和系统》,209-228(2013),海德堡:施普林格,海德伯格·Zbl 1381.68038号 ·doi:10.1007/978-3-642-37036-6_13
[25] 赖特,AK,简单命令多态性,Lisp符号计算。,8, 4, 343-355 (1995) ·doi:10.1007/BF01018828
[26] Xi,H.:实际编程中的依赖类型。卡内基梅隆大学博士论文(1998年)
[27] Xi,H.,Pfenning,F.:实际编程中的依赖类型。摘自:《程序设计语言原理》,第214-227页(1999年)
[28] Zeilberger,N.:评估顺序和模式匹配的逻辑基础。卡内基梅隆大学博士论文,CMU-CS-09-122(2009)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。