Luk*_*vat 13 haskell pattern-matching pattern-synonyms
我设法构建了以下显示我的问题的"最小"示例.
如果启用了PatternSynonyms扩展
data Vec = Vec Int Int
pattern Ve x y = Vec x y
f :: (Vec, Vec) -> Vec
f (v@(Ve a b), Ve c d)
| a > b = Vec c d
| otherwise = v
Run Code Online (Sandbox Code Playgroud)
我得到了f函数的警告
Warning: Pattern match(es) are non-exhaustive
In an equation for `f': Patterns not matched: (_, _)
Run Code Online (Sandbox Code Playgroud)
如果我Ve
用Vec
它替换每一个都不会抱怨.我的奇异模式同义词如何干扰这里?
归档时间: |
|
查看次数: |
551 次 |
最近记录: |