Соглашение о "грамотных комментариях", впервые разработанное Ричардом Бердом (Richard Bird) и Филиппом Уодлером (Philip Wadler) для Orwell, и позаимствованное в свою очередь Дональдом Кнутом (Donald Knuth) для "грамотного программирования", является альтернативным стилем программирования исходного кода на Haskell . Грамотный стиль поощряет комментарии, создавая их по умолчанию. Строка, в которой ">" является первым символом, интерпретируется как часть программы; все остальные строки являются комментарием.
Текст программы восстанавливается путем выбора только тех строк, которые начинаются с ">", и замены первого ">" на пробел. В полученном тексте размещение и комментарии применяются в точности как описано в главе 9.
Чтобы охватить некоторые случаи, где можно по ошибке пропустить ">", возникнет ошибка, если строка программы появится рядом с непробельной строкой комментария; строка рассматривается как пробельная, если она состоит только из пробельных символов.
Условно на стиль комментария указывает расширение файла:
".hs" указывает на обычный файл на Haskell, а
".lhs" указывает на файл с грамотным Haskell. С использованием этого стиля
простая программа вычисления факториала могла бы выглядеть так:
Эта грамотная программа запрашивает у пользователя число
и выводит на экран факториал этого числа:
> main :: IO ()
> main = do putStr "Введите число: "
> l <- readLine
> putStr "n!= "
> print (fact (read l))
Это программа вычисления факториала.
> fact :: Integer -> Integer
> fact 0 = 1
> fact n = n * fact (n-1)
Альтернативный стиль грамотного программирования особенно подходит для использования вместе с системой обработки текста LaTeX. По этому соглашению только те части грамотной программы, которые полностью заключены между разделителями \begin{code}...\end{code}, рассматривается как текст программы; все остальные строки --- комментарии. Более точно: