铭文 swMATH ID: 9687 软件作者: 康纳·麦克布莱德 描述: Epigram:具有相关类型的实用编程。在以下Haskell表达式中查找类型错误:if null xs,然后tail xs else xs。当然,你不能这样做:除非你是一个打字员,否则这个程序显然是胡说八道。问题是,只有在空xs测试为True时,某些计算才有意义,而其他计算在其为False时才有意义。然而,就类型系统而言,then分支的类型是else分支的类型是整个条件的类型。从静态上讲,测试是无关的。这很奇怪,因为如果测试真的不相关,我们就不会这么做。当然,tail[]不会出错,而类型化的程序不会出错,所以我们最好为它们的运行方式选择一个不同的单词。抽象和应用、元组和投影:这些为程序提供了“软件工程”上层结构,我们熟悉的类型系统确保了这些操作的兼容使用。然而,迟早,大多数程序都会检查数据并做出选择,这时我们熟悉的类型系统就会陷入沉默。他们根本无法谈论具体数据。一直以来,我们都认为我们的程序是强类型的,而这只是我们的软件工程。为了做得更好,我们需要一种静态语言,能够表达特定值在合法化某些计算而不是其他计算中的重要性。我们不应该放弃编程。 主页: http://link.springer.com/chapter/10.1007/11546382_3 相关软件: Coq公司;阿格达;哈斯克尔;乐高;伊尔迪斯;伊莎贝尔/HOL;卡宴;息肉;精益;伊德里斯;梅蒂斯_;一般证明;Twelf公司;Nuprl公司;自动化;加速;方程;立方体;MiniAgda公司;简化 引用于: 23文件 全部的 前5名被40位作者引用 4 安德烈亚斯·阿贝尔(Andreas M.Abel)。 三 托尔斯滕·阿滕柯奇 三 可口、蒂埃里 三 康诺·托马斯·麦克布莱德 三 沃特·斯威斯特拉 2 杰斯珀·考克斯 2 多米尼克·德夫里塞 2 彼得·戴比杰 2 尼尔·加尼 2 彼得·莫里斯(Peter A.Morris)。 2 米盖尔·帕加诺 2 弗兰克·皮森斯 1 阿拉斯代尔·阿姆斯特朗 1 布鲁诺·巴拉斯 1 乌尔里希·伯杰 1 安娜·波夫 1 维南西奥·卡普雷塔 1 克里斯·卡辛基诺 1 皮埃尔·科尔比诺 1 莱昂纳多·德·莫拉 1 西蒙·福斯特 1 本杰明·格雷戈里 1 Hideki桥本 1 雨果·赫贝林 1 胡镇江 1 塞萨里·卡利西克 1 安德鲁·劳伦斯 1 安德烈斯·洛赫 1 弗雷德里克·卢勒格 1 豪尔赫·路易斯·萨奇尼 1 莫尼卡·塞森伯格 1 丹尼尔·塞尔萨姆 1 蒂姆·谢尔德 1 维勒姆·舍贝里 1 乔治·斯特鲁斯 1 Masato Takeichi 1 泰森,朱利安 1 塔尔莫乌斯塔卢 1 瓦尔莫·维尼 1 斯蒂芬妮·威里奇 全部的 前5名6篇连载文章中引用 三 函数编程杂志 1 理论计算机科学 1 信息与计算 1 国际计算机科学基础杂志 1 计算机基础理论 1 计算机科学中的逻辑方法 在4个字段中引用 23 计算机科学(68至XX) 8 数学逻辑和基础(03-XX) 1 范畴理论;同调代数(18-XX) 1 代数拓扑(55-XX) 按年份列出的引文