Mar 16, 2010 22:46
Еще парочка простых и банальных вещей про Хаскель.
При написании кода можно не использовать разделители строк (; - как и в большинстве языков), а просто соблюдать правильные отступы для каждой смысловой единицы кода. Причем нет строгих правил как именно ставить отступы.
Примеры ниже совершенно аналогичны.
test = print "Hi"
test =
print "Hi"
test
= print "Hi"
test = print
"Hi"
test
=
print
"Hi"
Вместо табов можно ставить пробелы. Из-за того, что длина таба бывает разной, могут возникнуть ошибки при компиляции, когда вы вставляете чужой код в свой. При чтении кода Хаскель автоматически подставляет ";" в конец строки. Поэтому при неправильной табуляции выдается ошибка, сообщающая о лишней точке с запятой, что-то вроде "Syntax error in expression (unexpected `;', possibly due to bad layout)". Это при использовании интерпретатора hugs, ghci выдает "parse error (possibly incorrect indentation)".
Комментарии в одну строчку: -- comment me
в несколько строчек, или при написании комментария в комментарии: {- blabla {- write another comment -} bla -}
Стандартные расширения: .hs или .lhs (l значит literate). При чтении .lhs файлов считываются только строки, начинающиеся с символа ">".
comp