相关疑难解决方法(0)

Haskell - 在模式匹配中使用常量

假设我有以下代码(文本<>是速记,实际上不是代码的一部分):

data A = <something>
defaultA :: A
defaultA = <Really complicated expression of type A>
Run Code Online (Sandbox Code Playgroud)

现在我想要一个函数模式匹配defaultA,如下所示:

f defaultA = <case 1>
f _ = <case 2>
Run Code Online (Sandbox Code Playgroud)

但是,defaultA第一行变为新变量,而不是表示参数相等的条件defaultA.我知道实现我想要的最好的方式是:

f x | x == defaultA = <case 1>
f _ = <case 2>
Run Code Online (Sandbox Code Playgroud)

有谁知道更好的方法?

syntax haskell pattern-matching pattern-synonyms

2
推荐指数
1
解决办法
316
查看次数