Emacs的Haskell缩进模式有什么相似之处和不同之处?

Nor*_*sey 39 emacs haskell haskell-mode

通过仔细检查文档,我了解到Emacs haskell-mode提供了三种不同的,互斥的自动缩进方法.他们被称为haskell-indentation,haskell-indenthaskell-simple-indent.谁能解释这些方法是如何相似的以及它们是如何不同的?我不仅对个人特征感兴趣,而且如果一个是事实上的标准,或者如果不再保留一个或两个,我感兴趣.

Chr*_*one 19

实际上,据我所知,从事人们的问题来看,没有事实上的标准,人们对自己喜欢哪种方式有强烈的意见,但除了"在大多数情况下它对我有用"之外几乎没有具体的证据.

haskell-indentation包和haskell-indent包是最流行:

  • 两者都有一个标签循环
  • 两者都是复杂的代码库
  • 两者都有很多边缘情况会发生故障

在不同的情况下,每个人都会做正确的事,但同样,没有单元测试,没有真正的解析器等等,只是作者碰巧想到的一堆特殊情况,所以文档和理解他们如何表现得很严谨.haskell-indentation比Haskell更了解haskell-indent,但是很多人会告诉你,包括我在内,你花了很多时间骑自行车去缩进才能找到合适的人.

haskell-simple-indent包不知道Haskell,它只知道列对齐,它没有制表符循环,它有缩进和去缩进.这是我使用的版本,因为前面的模式中有上述边缘情况,有时可能会分散注意力.

我认为对于这些图书馆来说,除了传闻之外,很难描述他们之间的差异.我会欢迎一些严格的比较(虽然花时间编写更好的模式可能会更好).

simple-indent由我维护.我不知道其他人的作者是否对维护感兴趣.