Puede que esta no sea la respuesta que está buscando, pero hay una manera de seguir la guía wiki de sangría y ser compatible con la mayoría de los editores.
Por ejemplo, hacer bloques
En lugar de
myFunc x = do y <- bar
return $ x + y
puede aplicar sangría en ello como esto
myFunx x = do
y <- bar
return $ x + y
Esto se menciona explícitamente como una alternativa aceptable en la muesca wiki.
De la misma manera, puede dar formato a tipos de datos
data FooBar
= Foo
| Bar
| Asdf
Guardia
myFunc x
| x < 0 = 0
| otherwise = x
Dónde-cláusulas
myFunc x = x + y + c where
y = x + 5
c = x * y
y así sucesivamente ...
I personalmente comenzó a usar este tipo de estilo f porque, como dijiste, ningún editor podría sangrar el código de otra manera. Esto funciona mejor en todos los editores, ya que la sangría es siempre un múltiplo de cuatro (o lo que sea que elija para su nivel de sangría base). A medida que usaba este estilo, también comencé a preferir visualmente este nivel de indentación constante, por lo que no volvería en este punto, incluso si los editores fueran más inteligentes.
Shang, en este momento estoy sospechando que todos los que usan vim se conforman con este compromiso. He estado haciendo una variación de esto durante mucho tiempo. – Ana
No es necesariamente un compromiso. Excepto por la versión 'where', este es el estilo que prefieren mis ojos (y, con pequeñas variaciones, siempre lo ha sido). – luqui