Haskell缩进风格

时间:2012-12-16 23:39:53

标签: haskell coding-style indentation

我发现我经常不确定我有多少缩进的东西,我在哪里放了新行等等。是否有关于如何在Haskell中布局空白的官方或广泛遵循的指导原则?请注意,我不是在问什么是合法的;我问的是什么是良好的做法,与Good Haskell coding style of if/else control block?一致,但更为一般。我特别热衷于了解人们对do-block,let-blocks,where-blocks和case语句的处理方式,特别是当这些事物彼此嵌套或在多个函数定义中嵌套时。

1 个答案:

答案 0 :(得分:1)

如果可能的话,我会给你一个小小的挑剔。

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

send :: Socket
     -> ByteString
     -> IO Int

我更喜欢

send ::
  Socket ->
  ByteString ->
  IO Int

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

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