|
|
1
3
除了能够为新类型定义实例之外,还可以将其用作库的“封闭构造函数”API。这样,您可以导出一个没有任何构造函数的单一类型,以及充当基元和组合子的函数,这样库的用户就不能构造无效的类型值。这也意味着,如果你足够小心,你可以在不破坏面向外部的API的情况下改变底层结构。尼尔·米切尔就是一个很好的例子,
who said in a recent post about modifying the Shake build system to use the
|