Ban (Alen) Haskell

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

Previous post Next post
Up