|
|
1
1
Hindley-Milner类型的系统实际上不喜欢 违约 任何东西在这样的系统中,您希望类型为 正确固定 (刚性,skolem)或 适当多态 ,但这个概念是一个整数。。。但如果你愿意的话,我也可以把它转换成其他语言,因为许多其他语言并没有真正起作用。 因此,哈斯克尔不善于违约。它没有一流的支持,只有一个相当粗糙的特别的硬编码机制,主要处理内置的数字类型,但在任何涉及更多的方面都失败了。
因此,你应该尽量不要依赖违约。我的意见是
这个
在较少的情况下,你有一个具体的,例如。
一般来说,我尽量 避免 任何比结果更多态的函数参数 . Haskell的多态性最好向后运行,即与动态语言相反:调用者请求结果应该是什么类型,编译器从中找出参数应该是什么。这几乎总是可行的,因为只要结果以某种方式用于主程序,整个计算中的类型就必须链接到树结构。
当然,推断结果的类型通常是有问题的:参数可能是可选的,其本身可能仅与结果链接,或者作为多态常量(如Haskell数文字)提供。那么,如果
â 避免并不意味着我从不写它们,我只是不这样做,除非有充分的理由。 |
|
|
gvdr · 矩阵中的字符串操作:一个维度问题 13 年前 |