Возможно, это не тот ответ, который вы ищете, но есть способ, которым вы можете следовать руководству wiki в отступлении и быть совместимым с большинством редакторов.
Например, сделай блоки
Вместо
myFunc x = do y <- bar
return $ x + y
Вы можете отступ как этот
myFunx x = do
y <- bar
return $ x + y
это явно упоминается в качестве приемлемой альтернативы в отступа вики.
Таким же образом, вы можете форматировать типы данных
data FooBar
= Foo
| Bar
| Asdf
гвардейские
myFunc x
| x < 0 = 0
| otherwise = x
Где-пункты
myFunc x = x + y + c where
y = x + 5
c = x * y
И так далее ...
I лично начал использовать этот вид o f style, потому что, как вы сказали, ни один редактор не смог бы надежно отложить код в противном случае. Это работает лучше во всех редакторах, так как отступ всегда кратен четырем (или что-то еще, что вы выбираете для базового уровня отступов). Поскольку я использовал этот стиль, я также стал предпочитать этот последовательный уровень отступов визуально, поэтому я бы не стал возвращаться в этот момент, даже если редакторы стали умнее.
Шан, в этот момент я подозреваю, что все, кто использует vim, оседают на этом компромиссе. Я делаю вариацию этого в течение длительного времени. – Ana
Это не обязательно компромисс. За исключением версии 'where', это стиль, который предпочитают мои глаза (и, с небольшими вариациями, всегда был). – luqui