在Haskell中,为什么将x ++ y : zas解析为x ++ (y : z)not (x ++ y) : z?
x ++ y : z
x ++ (y : z)
(x ++ y) : z
例如,[1] ++ 2 : [3]计算为[1,2,3]。
[1] ++ 2 : [3]
[1,2,3]
两者(++)和(:)都具有优先级5的右关联。
(++)
(:)
parsing haskell
haskell ×1
parsing ×1