Если вы намереваетесь делиться программами в Интернете, я считаю, что комбинация грамотного языка Haskell в стиле уценки с mathjax будет отличной комбинацией. Программа «Pandoc» очень хороша для того, чтобы использовать эту «markdown + lhs» в любом формате, который вы пожелаете, включая PDF или HTML. Если вы скажете Pandoc выводить в HTML, вы можете использовать -mathjax (или другие подобные флаги, если хотите), чтобы ваши латексные математические формулы отображались.
При использовании этого стиля, я считаю, что стиль птицы предпочтительнее, потому что он просто более читабелен для меня и, кажется, лучше соответствует стилю уценки.
Преимущество использования Pandoc с уценкой состоит в том, что вы можете добавлять цитаты в свой код, математические формулы и иметь действительно переносимый формат. Вы можете создать что-то похожее на научную исследовательскую работу, но выполнимое и также может быть размещено в блогах / вики / веб-сайтах.
Чтобы дать Норману альтернативную точку зрения, когда он говорит, что грамотное программирование полезно для более четкой компоновки кода, можно утверждать, что Haskell достаточно выразителен, и проблемы, которые вы решаете с помощью кода, действительно интересны и могут быть действительно полезны, будучи окруженными с пояснительным текстом. Подумайте о математическом исследовании. Хорошие статьи по чистой математике содержат много текста для объяснения мотивации или более высокого уровня интерпретации того, что означает математическая запись. Например, в статье об уравнениях Навье-Стокса было бы очень полезно окружить обозначения уравнений текстом, объясняющим, как это связано с сохранением импульса Ньютона.
Таким образом, я добился большого успеха и рекомендую использовать стиль markdown + lhs, знаки доллара для встраивания латексных математических формул, стиля птицы и pandoc. Я бы порекомендовал писать программы, как если бы они были исследовательскими работами, и относился бы к самому хаскелю, как к математическим выражениям в исследовательской работе.