模式匹配失败案例中的中缀运算符

时间:2017-05-10 07:04:30

标签: pattern-matching idris

出于某种原因,当在模式匹配错误处理表达式中使用中缀运算符时,Idris会感到困惑。

Right f <- openFile filename Read
      | Left err => printLn err *> pure (_ ** [])


not a terminator, expected: ";", "in", "|", end of input,
function argument | Left err => printLn err *> pure (_ ** []) ^

但是,如果用前缀表示法写的话,它可以正常工作。

Right f <- openFile filename Read
      | Left err => (*>) (printLn err) (pure (_ ** []))

这是一个错误吗? 解析失败的原因是什么?

0 个答案:

没有答案