Jan 11, 2008 08:20
Всё-таки, при той степени нечитаемости, которая обязательно присустствует в сколь-нибудь сложной программе на хаскеле, действительно обязательно иметь столь строгую систему типов.
Меня удивляет, почему на хаскеле никогда не получается писать иначе.
Частично, конечно, это дань идее функционального программирования: в принципе невозможно ожидать хорошего от языка, который таки предлагает считать программу выражением, притом с большим количеством скобок, то есть действительно пытаться требовать, чтобы программа выглядела как одна строка, а не как двумерный скроллинг. (Или в этом месте просто не возникло правильной культуры форматирования? Я всегда всё пытаюсь переписывать в как можно большее количество минимальных определений в where, это помогает).
Частично, это и дань некоторым дырам в синтаксисе (в хаскеле нельзя давать закрывающей скобке такой же отступ, как и началу выражения, а для меня это наиболее естественный стиль).
Частично, наверное, традиции программирования. В хаскеле есть такая традиция, что некоторые способы записи одной и той же идеи более модны, как мне кажется. И на взгляд непосвящённого человека более модны именно те формы, которые менее всего понятны.
Но вообще, жаль, что сложилось именно так. Иногда кажется, что haskell - всё-таки очень хороший комплект инструментов.