我何时应该在scala中使用类型级别计算?

时间:2016-01-24 21:55:12

标签: scala type-level-computation

我最近一直在研究scala中的类型级编程,显然它可以在编译时执行some fancy stuff,这很有趣且令人印象深刻。我想知道我什么时候应该使用这些技巧(在我熟悉它们之后)?

不可否认,这是一个非常广泛的问题,但我想我并不是唯一一个正在考虑这个问题的人,所以希望专家可以为这些新手提供一些启示。

1 个答案:

答案 0 :(得分:3)

黄金法则是这样做的,当它引导您找到一个比常规解决方案更容易理解和更快实施的更安全,更优雅的解决方案。否则以您喜欢的方式或建议的方式编写代码。这就像问“我应该何时使用功能风格与命令式风格?” Imho这取决于你。有些解决方案在功能上更自然,而其他解决方案则更为自然。对于类型级编程也是如此,但对于那些仍然在努力学习基础知识的人而言,类型级编程对于内容更加容易。

此外,您可以找到许多已经开发过的具有这种风格的东西,比如无形和许多其他利用Scala类型系统的强大功能来解决常见问题并支持强大的抽象,否则你可能不会寻找它。 / p>

我的建议,作为一个仍在努力进行类型级编程的人,就是从像无形的工具开始,首先学习从类别理论继承的抽象和所有这些东西。如果你的包中有许多这些概念,你可以开始考虑用类型系统实现的新解决方案。

我的2美分。

相关问题