在Haskell第二版的Graham赫顿's Programming中,我有以下代码:
int :: Parser Int
int =
do char '-'
n <- nat
return (-n)
<|> nat
上面的格式是将hindent 5.3.4应用于代码段的结果。
据我所知,该代码相当于:
int :: Parser Int
int =
(do char '-'
n <- nat
return (-n)) <|>
nat
事实上,后一种格式也是同样hindent的结果,我认为它是正确的。
前一种格式,如果不是不正确的话,至少是令人困惑的?这是hindent中的一个bug吗?也许值得在https://github.com/mihaimaruseac/hindent/issues中报告?
顺便说一下,书中的格式是:
int :: Parser Int
int = do char '-'
n <- nat
return (-n)
<|> nat
1条答案
按热度按时间mzsu5hc01#
因为它看起来像一个bug,我已经发布了an issue。