×

铭文

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文件

按年份列出的引文