Type-Level Programming in Scala-2

接着上次的内容,既然已经证明了scalatype level programming的能力是图灵完备的,为了能使用这种能力,自然需要Bool和自然数。

Type-Level Programming in Scala-1

有了足够的预备知识,之后,下一个问题就是到底能不能做,我们常说c++的模板是图灵完备的,当然Scala也有这种能力。

Type-Level Programming in Scala-0

这本来是我在挖shapeless实现的时候,发现的Rúnar大神的旧博客中的内容,其中介绍了NatHList等结构在scala中的简单实现,不过是10年的内容,有点旧了,而且他一开始就假设读者对dependent type什么的都熟悉。我自己整理一下。