我目前正试图弄清楚我的程序的哪些方面可以由scala编译器进行静态类型检查。阅读this question后,我提出了类型设计模式的想法。我发现使用Scala的类型系统可以实现的目标非常复杂。所以我想看一下实际的用法(不是peano算法或类似的东西)。在普通代码中经常重现的简单模式。
有没有人知道任何博客甚至是处理这个问题的书籍?最好是在Scala中,但它也可能对其他语言有用。
答案 0 :(得分:6)
我认为值得称之为“设计模式”的最有用的东西之一是“幻影类型”技术。在类型参数中编码静态信息是一种或多或少的系统方法。看一些例子:
您可能也对相关的Oleg wondertrick感兴趣:Lightweight static capabilities(与Chung-chieh Shan一起)。
答案 1 :(得分:2)
您可以查看the design advice for Haskell,特别是一些关于在类型系统中嵌入强大属性的最新研究论文:
这里还没有标准的方法论,尽管有许多个别问题的好例子。