可以在Scala中创建Sized类型吗?

Jen*_*der 3 type-systems scala

是否可以创建类似String(20)scala中的类型?

目标是对以下内容进行编译器检查:

a: String(20) 
b: String(30)
a = b; // throws a compiler exception when no implicit conversion is available
b= a; // works just fine
Run Code Online (Sandbox Code Playgroud)

注意:它不需要/命名 String

Dan*_*ral 8

是的,可以使用Church Numerals编码.Jim McBeath有一系列与之相关的博客.从这里开始,但继续在互联网上寻找其他参考.他不是唯一一个谈论它的人,也不是他唯一的职位.

然而,它并不是非常实用.