Haskell 哈斯克尔:“|”的含义,&<;-”和“->;”一行

Haskell 哈斯克尔:“|”的含义,&<;-”和“->;”一行,haskell,Haskell,像这样的表达是什么意思?摘自 案例x 左e |只需pe返回$Left pe 该模式是否与防护装置匹配,然后映射匹配结果?这里使用的->语法的名称是什么?这是一个。这有点像语法糖 case x of Left e -> case fromException e of Just pe -> return $ Left pe 除非Just pe匹配失败,否则执行将自动转移到开关外部案例x中的下一个子句。这是一个错误。这有点像语法糖 case x of Lef

像这样的表达是什么意思?摘自

案例x
左e
|只需pe返回$Left pe
该模式是否与防护装置匹配,然后映射匹配结果?这里使用的
->
语法的名称是什么?

这是一个。这有点像语法糖

case x of
    Left e -> case fromException e of
      Just pe -> return $ Left pe
除非
Just pe
匹配失败,否则执行将自动转移到开关外部
案例x中的下一个子句。

这是一个错误。这有点像语法糖

case x of
    Left e -> case fromException e of
      Just pe -> return $ Left pe

除非
Just pe
匹配失败,否则执行将自动转移到
开关外部
案例x的下一个子句。

->
案例
语句的一部分,您没有包括在问题中。啊,谢谢,修复了。不过,我还是无法理解这一点。我们可以模式匹配一个
案例
,然后添加更多的后续匹配?这些表达式的结构是什么?这是一个示例。它恰好是case表达式中的一个卫士,但也可以与不属于case表达式的卫士一起使用。
->
是您未包含在问题中的
case
语句的一部分。啊,谢谢,修复了。不过,我还是无法理解这一点。我们可以模式匹配一个
案例
,然后添加更多的后续匹配?这些表达式的结构是什么?这是一个示例。它恰好是case表达式中的一个保护,但它也可以用于不属于case表达式的保护。我刚刚意识到,我不知道编译器实际上是如何失效的。它是否立即定义了辅助功能?我不知道;我一直认为它基本上可以展开外部和内部的回退——但仔细想想,代码复制是非常随意的。我只是意识到我不知道编译器实际上是如何失败的。它是否立即定义了辅助功能?我不知道;我一直认为它基本上可以展开外部和内部的回退——但仔细想想,代码复制是非常随意的。