6

我发现我经常在缩进多少、在哪里换行等方面不一致。是否有官方或广泛遵循的指导方针来说明应该如何在 Haskell 中布局空白?请注意,我不是在问什么是合法的。我在问什么是好的做法,沿着if/else 控制块的 Good Haskell 编码风格?,但更普遍。我特别想知道人们如何使用 do-blocks、let-blocks、where-blocks 和 case 语句,尤其是当这些东西相互嵌套或嵌套在多个函数定义中时。

4

1 回答 1

1

如果可以的话,一个小小的挑剔。

我最喜欢 hammar 的链接指南。但是,我真的不喜欢这种风格:

send :: Socket
     -> ByteString
     -> IO Int

我更喜欢

send ::
  Socket ->
  ByteString ->
  IO Int

在后一种风格中,参数和结果看起来不同(参数->后面有 s)。

我更喜欢这个。人们可能不同意,这主要只是个人品味的问题。可悲的是,afaik 黑线鳕似乎只支持前一种风格:(

于 2012-12-18T14:25:08.120 回答