![]() |
1
4
有两个问题。第一个问题是:
出于历史原因,实例声明中不允许使用类型同义词。这就是
部分错误。幸运的是,我们可以扩展同义词;这将使我们
但现在,我们将陷入另一个错误,即:
明确地,
但是,在这种情况下不需要。最好的方法是实际使用指定的实例声明格式,因此:
这不需要扩展,而且不仅仅适用于
然而,它确实是一个孤立的实例,因此您应该考虑编写 另一个 NewType包装。
然后你可以用
|
![]() |
2
2
这里的问题是
Haskell2010不允许使用前者(这在允许的情况下是非常保守的),但是如果您打开在您发布的错误中报告的扩展名,那么ghc允许在实例中使用类型别名。注意,在这种情况下,它将为 膨胀 别名,例如
对于一个
|
![]() |
trpnd · 如何定义由两个任意单声道变压器组成的单声道变压器? 2 年前 |
![]() |
Fabus1184 · Haskell mapM_不打印 2 年前 |
![]() |
Gotthold · 基于范数约束向量的类型 2 年前 |
![]() |
jian · haskell将另一个函数用作输入参数 2 年前 |
![]() |
Jocafrei · 用Haskell函数实现最大公约数函数 6 年前 |