10
大多数风格指南建议将行长度保持为79个字符或更少。在Haskell中,缩进规则意味着表达式经常需要用新行来分解。
问题:
中的表达式,它在哪里的法律来放置新行?
是否记录在某处?
扩展问题:我看到GHC格式化我的代码时,所以有人想出如何自动打破长行的过程报告错误。是否有一个实用工具,我可以把haskell代码放进去,让它把代码转换成很好的格式?
大多数风格指南建议将行长度保持为79个字符或更少。在Haskell中,缩进规则意味着表达式经常需要用新行来分解。
问题:
中的表达式,它在哪里的法律来放置新行?
是否记录在某处?
扩展问题:我看到GHC格式化我的代码时,所以有人想出如何自动打破长行的过程报告错误。是否有一个实用工具,我可以把haskell代码放进去,让它把代码转换成很好的格式?
您可以在表达式的词汇标记之间的任何位置放置换行符。但是,对于换行符后面可能会有多少缩进存在限制。简单的经验法则是将下一行缩进到包含表达式的行的右侧。除此之外,一些风格的东西:
如果您缩进出现在定义name = expression
的表达,这是很好的风格缩进到=
标志的权利。
如果您缩进上的do
结合或列表理解的右侧会出现一个表达,这是很好的风格缩进到<-
标志的权利。
的权威文件可能是Haskell 98 Report是(Chapter 2词法结构),但我个人不觉得这材料很容易阅读。
看看这个软件包https://hackage.haskell.org/package/haskell-formatter – Arnon
谷歌搜索格式应该给你几个有用的结果。在haskell中,除了缩进规则(代码至少和它所属的块一样缩进,简化)之外,空白(包括换行符)被忽略。 – Cubic