似乎在 SML 中定义类型并没有帮助:
type point = int * int
val origin : point = (0, 0)
但我可以很容易地只使用int * int
打字方法,不是吗?与数据类型相比,您似乎可以用它做更多有趣的事情,例如:
datatype Point = PlanePoint of (int * int) | SpacePoint of (int * int * int)
val origin : Point = SpacePoint(0, 0, 0)
出于好奇,在哪些情况下您真的需要type
定义?