类似的东西(无效的Haskell):showit (Bar a b & Baz c) = show a ++ b ++ show c
一种选择是使用ViewPattern这样做的动机是对大型数据类型的字段具有细粒度的模式同义词,并允许调用方提取与NamedFieldPuns记录类似的所需字段。模式同义词还不支持记录语法
Song _ z _) = z
getSale (Song _ _ x) = x
我不知道这意味着什么,也不知道如何解决这个问题,我以前写过三个"get“函数的相同函数,他们没有遇到任何问题,但我之前确实使用了"type”声明,所以我想是这样的。我有使用相同类型声明的示例代码,它工作得很好,所以我在这里有点迷路了。