Design patterns 静态类型检查的设计模式

Design patterns 静态类型检查的设计模式,design-patterns,scala,haskell,types,Design Patterns,Scala,Haskell,Types,我目前正试图找出scala编译器可以对程序的哪些方面进行静态类型检查。阅读之后,我想到了类型的设计模式。我发现要想弄清楚Scala的类型系统可能实现的功能是相当复杂的。所以我想看看实际用法(不是peano算术或类似的东西)。在普通代码中经常出现的简单模式 有没有人知道有任何博客甚至书籍涉及这个问题?最好是在Scala中,但它也可能对其他语言有用。我认为最有用的东西之一就是“幻影类型”技术,应该被称为“设计模式”。在类型参数中编码静态信息或多或少是一种系统化的方法。参见一些示例: 您可能

我目前正试图找出scala编译器可以对程序的哪些方面进行静态类型检查。阅读之后,我想到了类型的设计模式。我发现要想弄清楚Scala的类型系统可能实现的功能是相当复杂的。所以我想看看实际用法(不是peano算术或类似的东西)。在普通代码中经常出现的简单模式


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

我认为最有用的东西之一就是“幻影类型”技术,应该被称为“设计模式”。在类型参数中编码静态信息或多或少是一种系统化的方法。参见一些示例:

您可能还对一个相关的Oleg wondertrick感兴趣:(与钟杰山一起)。

您可能会看一些关于将强属性嵌入类型系统的最新研究论文:

  • 让Curry Howard工作 Tim Sheard,2005年ACM SIGPLAN Haskell研讨会论文集。爱沙尼亚塔林,74-85,2005年
  • 基于语言的表达型程序验证 Martin Sulzmann和Razvan Voicu。在编程语言中满足程序验证(PLPV'06)
  • 函数式编程的类型化契约 拉尔夫·欣泽、约翰·杰林和安德烈·洛
  • Haskell中的轻量级信息流安全库 拉索,克莱森,休斯

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

为什么要将其标记为Haskell?这些链接可能很有趣:@Edward,因为Scala的类型系统似乎与Haskell的类型系统相似,而且Haskell的模式(已经存在了很长时间)可能会转移到Java。@Edward,我认为这是正确的,因为Scala的类型系统最冒险的实验似乎来自Haskell背景的人,例如,Rúnar的博客和Scalaz人。如果能有一些关于这方面的内容,甚至是一本书,那就太好了。现在有很多关于Scala的Beginner的书,我认为需要一本高级的书来精确地处理这个问题,静态类型编程的设计模式