似乎newtype定义只是data遵循某些限制的定义(例如,只有一个构造函数),并且由于这些限制,运行时系统可以newtype更有效地处理s.并且未定义值的模式匹配处理略有不同.
newtype
data
但是假设Haskell只知道data定义,没有newtypes:编译器不能自己发现给定的数据定义是否遵守这些限制,并自动更有效地对待它?
我确定我错过了什么,必须有更深层次的理由.
haskell types type-systems language-design
haskell ×1
language-design ×1
type-systems ×1
types ×1