gpt4 book ai didi

haskell - 模式同义词导致不详尽的模式匹配

转载 作者:行者123 更新时间:2023-12-03 23:47:44 26 4
gpt4 key购买 nike

我设法构建了以下显示我的问题的“最小”示例。

如果启用了 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

我收到函数 f 的警告说
  Warning: Pattern match(es) are non-exhaustive
In an equation for `f': Patterns not matched: (_, _)

如果我更换每个 VeVec它不会提示。
我的奇异模式同义词如何干扰这里?

最佳答案

尚未实现,见#8779 .我在这里不是一个期望,但我知道在很多情况下很难实现详尽的检查,比如 GADT 或 guard 。模式同义词可能也有问题。

关于haskell - 模式同义词导致不详尽的模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27069076/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com