Haskell缩进风格

Moh*_*han 5 haskell coding-style indentation

我发现我经常不确定我有多少缩进的东西,我在哪里放了新的行等等.是否有关于如何在Haskell中布局空白的官方或广泛遵循的指导方针?请注意,我不是在问什么是合法的; 我问的是什么是好的做法,沿着if/else控制块Good Haskell编码风格?,但更普遍.我特别热衷于了解人们对do-block,let-blocks,where-blocks和case语句的处理方式,特别是当这些事物彼此嵌套或在多个函数定义中嵌套时.

yai*_*chu 1

如果可以的话,我有点挑剔。

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

send :: Socket
     -> ByteString
     -> IO Int
Run Code Online (Sandbox Code Playgroud)

我更喜欢

send ::
  Socket ->
  ByteString ->
  IO Int
Run Code Online (Sandbox Code Playgroud)

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

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

  • 我同样不喜欢这两种风格,但我还没有找到更好的选择。如果可能的话,我只是避免类型签名对于一行来说太宽。 (2认同)