Грамотный Haskell (.lhs) и пикша

В данный момент я только использую Пикшу, но после наблюдения некоторых действительно интересных примеров (например, эта суть) грамотного Haskell, я интересуюсь испытанием ее в проекте.

Вопросы, которые я получил:

  • Что Вы пишете, как Пикша комментирует и что Вы пишете в грамотной части?

  • Как Вы масштабируете грамотное программирование в несколько файлов? Кто-либо может указать на меня на пример, где грамотное программирование используется в пакете с несколькими модулями? Каков Ваш опыт использования грамотного программирования в больших пакетах?

  • Какой аромат (скидка с цены, латекс...) грамотного Haskell предпочтен?

  • Почему Вы программируете в грамотном Haskell или простой ванили Haskell? Вы программируете в обоих стилях и раз так почему?

  • Вы предпочитаете стиль блока (\begin{code}) или стиль Птицы (>)? Почему?

38
задан Matthias Braun 10 November 2017 в 18:14
поделиться

1 ответ

Раньше я писал много грамотных программ .

Что вы пишете в комментариях Пикши и что пишете в части грамотности?

Документация по внешнему API входит в комментарии Пикши. Все остальное переходит в грамотную часть.«Все остальное» может включать:

  • Внутренние инварианты структур данных
  • Почему вы делаете это таким образом
  • Что такое дизайн кода
  • Почему этот дизайн

Как масштабировать грамотное программирование до нескольких файлов?

Точно так же, как вы масштабируете большой документ LaTeX на несколько файлов: один файл на модуль, затем гигантский файл, который \ включить их все.

Может ли кто-нибудь указать мне пример, в котором грамотное программирование используется в пакете с несколькими модулями?

Это не Haskell, а Quick C-- компилятор - это большая функциональная программа, написанная с использованием грамотного программирования.

Каков ваш опыт использования грамотного программирования в больших пакетах?

Грамотное программирование очень хорошо подходит для документирования сложных, сложных или сложных модулей. Для большинства простых модулей достаточно внешней документации API (например, Haddock). И никакая грамотная программа не даст вам полной картины дизайна, который содержит более дюжины модулей. Для этого вам понадобятся другие инструменты и методы.

Какой вариант (уценка, латекс, ...) грамотного Haskell предпочтительнее?

Если вы делаете такие крупные инвестиции, я бы определенно выбрал LaTeX только из-за математических возможностей и в целом большая мощность инструмента.

Почему вы программируете на грамотном Haskell или обычном Haskell? Вы программируете в обоих стилях, и если да, то почему?

Мои коды на Haskell почти всегда просты по двум причинам:

  • Я работаю со старшими людьми, у которых больше опыта в Haskell, и они отказались от грамотного Haskell. Только самые старые модули в их системе имеют шанс быть .lhs.

  • Для Haskell грамотное программирование - отчасти излишнее. Одним из больших преимуществ инструмента для грамотного программирования является то, что вы освобождаетесь от любых ограничений, которые компилятор или определение языка могут наложить на порядок, в котором отображается ваш код. Но в Haskell таких ограничений почти нет: нет определения перед использованием, и для типичного определения функции у меня есть выбор let -binding или where -binding вспомогательные имена (или оба) . Грамотное программирование никогда не ограничивалось модными комментариями, и с «грамотным» Haskell это почти все, что у вас есть. Не стоит заморачиваться.

Вы предпочитаете блочный стиль (\ begin {code}) или стиль птицы (>)? Почему?

Я сильно предпочитаю блочный стиль:

  • Он примерно совместим со всеми другими инструментами грамотного программирования на планете. (Следы птиц уникальны для Haskell.)

  • Мой редактор лучше справляется с блочным стилем.

35
ответ дан 27 November 2019 в 03:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: