曼弗雷德·施密特·肖斯;大卫·萨贝尔;马可·舒茨 诺克严格性分析的安全性。 (英语) 兹比尔1153.68012 J.功能。程序。 18,第4号,503-551(2008). 小结:本文证明了在Clean编译器中实现的Nöcker严格性分析方法的正确性,这是一种基于操作语义的惰性函数语言严格性分析的有效方法。我们从两个方面改进了Clark、Hankin和Hunt在抽象归约规则正确性方面所做的工作。我们的正确性证明基于函数核心语言和上下文语义,从而证明了更广泛的基于严格性的优化是正确的,并且我们的方法充分考虑了循环检测规则,这有助于加强Nöcker的严格性分析。我们的算法SAL是在函数核心语言LR中对Nöcker的严格性分析算法的重新表述。这是一个具有case、构造函数、letrec和seq的高阶按需调用lambda演算,它在严格性分析期间通过Top或Inf等集合常量进行扩展,表示表达式集,这表明了不同的评价要求。还可以通过具有最大不动点语义的递归方程定义新的集合常量。LR的操作语义是一种小步骤语义。表达式的相等性由上下文语义定义,该上下文语义观察表达式的终止。基本上,SAL是一个非终止检查程序。证明其正确性,进而证明Nöcker的严格性分析主要基于对评估长度的准确分析,即WHNF的正态降阶序列。主要衡量标准是评价中“基本”减少的数量。我们的工具和结果为按需调用lambda calculi、函数编程语言中共享的作用以及一般的严格性分析提供了新的见解。正确性结果为Nöcker在Clean中的严格性分析以及在Haskell中的使用提供了基础。 引用于11文件 MSC公司: 68甲18 函数编程和lambda演算 68N20型 编译与解释理论 关键词:清除编译器;函数核心语言;语境语义学 软件:哈斯克尔 PDF格式BibTeX公司 XML格式引用 \textit{M.Schmidt-Schauss}等人,J.Funct。程序。18,第4号,503--551(2008;Zbl 1153.68012) 全文: 内政部 参考文献: [1] 内政部:10.1007/3-540-45699-6_8·doi:10.1007/3-540-45699-68 [2] 内政部:10.1016/0304-3975(75)90017-1·Zbl 0325.68006号 ·doi:10.1016/0304-3975(75)90017-1 [3] 内政部:10.1017/S0960129500003066·Zbl 0955.68024号 ·doi:10.1017/S0960129500003006 [4] Burn,程序作为数据结构。第42页–(1985) [5] 巴伦德雷格特,兰姆达微积分。它的语法和语义。(1984) ·Zbl 0551.03007号 [6] 内政部:10.1016/0304-3975(94)90014-0·Zbl 0795.68129号 ·doi:10.1016/0304-3975(94)90014-0 [7] 巴德,术语改写和所有这些。(1998) ·Zbl 0948.68098号 ·doi:10.1017/CBO9781139172752 [8] Peyton,《功能编程》,格拉斯哥,1994年。第184页–(1994) [9] 阿里奥拉,编程语言原理。第233页–(1995) [10] 内政部:10.1017/S0956796802004331·Zbl 1037.68042号 ·doi:10.1017/S0956796802004331 [11] 内政部:10.1016/0304-3975(94)00185-L·Zbl 0873.68016号 ·doi:10.1016/0304-3975(94)00185-L [12] Peyton,Haskell 98语言与图书馆。(2003) ·Zbl 1067.68041号 [13] 内政部:10.1006/inco.1997.2651·Zbl 0892.68015号 ·doi:10.1006/inco.1997.2651 [14] 帕特森,静态分析研讨会(1996年) [15] DOI:10.1016/S0168-0072(01)00104-X·Zbl 1019.03011号 ·doi:10.1016/S0168-0072(01)00104-X [16] Abramsky,声明语言的抽象解释(1987) [17] Pape,函数语言的实现(IFL’98),伦敦,第155页–(1998) [18] 数字对象标识码:10.1145/165180.165219·数字对象标识代码:10.1145/165180.165219 [19] 否?《并行体系结构与语言欧洲会议录》(parle’91)第202页–(1991)·doi:10.1007/3-540-54152-7_66 [20] 莫兰,《协调》,99年。计算机科学课堂讲稿第85页–(1999) [21] 内政部:10.1145/292540.292547·数字对象标识代码:10.1145/292540.292547 [22] 内政部:10.1016/0304-3975(76)90009-8·Zbl 0335.02016号 ·doi:10.1016/0304-3975(76)90009-8 [23] Wadler,声明语言的抽象解释(1987) [24] DOI:10.1007/BF01018827·Zbl 05478827号 ·doi:10.1007/BF01018827 [25] van,术语图改写-理论与实践(1993) [26] 内政部:10.1145/99370.99390·数字对象标识代码:10.1145/99370.99390 [27] Kennaway律师。RTA 95。第257页–(1993) [28] Jensen,程序设计语言原理研讨会。第209页–(1998) [29] Gordon,函数编程,格拉斯哥,1994年。第78页–(1994)·Zbl 0841.68022号 [30] DOI:10.1051/ita:2007010·Zbl 1146.68353号 ·doi:10.1051/ita:2007010 [31] 内政部:10.1016/S0167-6423(96)00043-3·兹伯利0941.68021 ·doi:10.1016/S0167-6423(96)00043-3 [32] 内政部:10.1016/0304-3975(92)90014-7·Zbl 0764.68094号 ·doi:10.1016/0304-3975(92)90014-7 [33] 内政部:10.1006/inco.1998.2773·Zbl 1045.68525号 ·doi:10.1006/inco.1998.2773 [34] Cousot,第四届ACM编程语言原理研讨会会议记录。(1977) [35] DOI:10.1016/S0304-3975(00)00348-0·Zbl 0984.68028号 ·doi:10.1016/S0304-3975(00)00348-0 [36] 内政部:10.1007/3-540-36377-7_4·doi:10.1007/3-540-36377-74 [37] 伯恩,《懒惰的函数语言:抽象解释和编译》。(1991) ·Zbl 0809.68079号 此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。