Mat*_*hid 7 haskell
好的,所以这是一个愚蠢的问题.我已经定义了一个新的#运算符,我正在试图找出固定性声明应该是什么.
#
我想#在之后 申请++.这是否意味着优先级应高于或更低的比++?(++优先5.)
++
类型是(#) :: Foo -> Bar -> Foo.我想要左联想还是右联想?因为在我看来,其中一个会进行x # y # z类型检查,而另一个则不会.
(#) :: Foo -> Bar -> Foo
x # y # z
我知道这可能看起来微不足道,但我总是总是似乎得到这个错误...
Dav*_*vid 9
$具有最低优先级(0)并$始终应用于"最后",因此您希望#优先级低于++.此外,您还可以比较的优先级*和+.
$
*
+
左关联意味着x # y # z = (x # y) # z(这也是左折叠的运作方式).x # (y # z)不会打字,但(x # y) # z会,所以你希望它是左联想的.
x # y # z = (x # y) # z
x # (y # z)
(x # y) # z
归档时间:
11 年,4 月 前
查看次数:
191 次
最近记录: