1

匹配以下代码模式的方法是什么...

do 
  x <- createModel a b
  case x of
    Left e -> throwM $ ValidationErrors e
    Right y -> ...

...并建议以下替换:

withThrow $ createModel a b

我尝试了以下方法,但它不起作用:

hint: {lhs: "do {x <- createModel v w; case x of Left e -> throwM $ ValidationErrors e}", rhs: "withThrow $ createModel v w"}
4

1 回答 1

1

问题是 HLint 匹配是基于表达式的,而您尝试定义的规则实际上是基于语句的 - 您希望在do. 可以修改 HLint 来做到这一点,并且您认为这很有用,请提出 HLint 问题

于 2017-11-29T13:47:20.157 回答