静态类型检查的设计模式

时间:2011-04-06 12:56:18

标签: design-patterns scala haskell types

我目前正试图弄清楚我的程序的哪些方面可以由scala编译器进行静态类型检查。阅读this question后,我提出了类型设计模式的想法。我发现使用Scala的类型系统可以实现的目标非常复杂。所以我想看一下实际的用法(不是peano算法或类似的东西)。在普通代码中经常重现的简单模式。

有没有人知道任何博客甚至是处理这个问题的书籍?最好是在Scala中,但它也可能对其他语言有用。

2 个答案:

答案 0 :(得分:6)

我认为值得称之为“设计模式”的最有用的东西之一是“幻影类型”技术。在类型参数中编码静态信息是一种或多或少的系统方法。看一些例子:

您可能也对相关的Oleg wondertrick感兴趣:Lightweight static capabilities(与Chung-chieh Shan一起)。

答案 1 :(得分:2)

您可以查看the design advice for Haskell,特别是一些关于在类型系统中嵌入强大属性的最新研究论文:

  • 让Curry-Howard工作 Tim Sheard,2005年ACM SIGPLAN关于Haskell的研讨会论文集。爱沙尼亚塔林,74 - 85,2005
  • 通过表达类型进行基于语言的程序验证 Martin Sulzmann和Razvan Voicu。在编程语言符合程序验证(PLPV'06)
  • 功能编程的类型合同 Ralf Hinze,Johan Jeuring和Andres Loh。
  • Haskell中轻量级信息流安全库 一个Russo,K Claessen,J Hughes。

这里还没有标准的方法论,尽管有许多个别问题的好例子。