Главная страница Haskell

Методические указания

При программировании рекомендуется:

При разработке проекта рекомендуется использовать утилиту Stack.
Команды утилиты:

Для установки зависимостей Stack использует Stackage - стабильный репозиторий пакетов.
Для выполнения практического задания рекомендуется использовать последний доступный LST Haskell.
Начальную версию проекта можно создать с помощью Haskell Tool Stack.

Для оформления проекта требуется добавить файл README, включающий в себя описание проекта, инструкцию по установке и запуску, описание реализованных возможностей.

Шаблон проекта представлен в репозитории https://gitlab.com/cmc-haskell-2022/project-template

Важными частями проекта являются:

Остальные файлы - это дополнительные полезные настройки:

Правила оформления исходного кода

Настоятельно рекомендуется:

Рекомендации по выбору библиотек

При реализации практического задания может потребоваться использование сторонних библиотек.
Для синтаксического разбора рекомендуется использовать комбинаторные библиотеки, например, parsec или attoparsec. parsec предоставляет более выразительные средства и лучше подходит для разбора исходного кода и конфигурационных файлов, а attoparsec предлагает более простой интерфейс и меньше возможностей, но на несколько порядков лучше по производительности и подходит для разбора сетевых протоколов, логов, бинарных данных.
Для создания приложений с консольным интерфейсом рекомендуется использовать библиотеку brick
Для работы с векторной 2D графикой простой и удобный интерфейс предоставляет библиотека gloss

Для создания в приложении конфигурационных файлов пригодны многие языки разметки и библиотеки для их перевода во внутреннее представление, наиболее распространены:

Для работы с базой данных рекомендуется использовать библиотеку persistent, она предоставляет интерфейс, не зависящий от конкретной используемой СУБД и поддерживает как минимум PostgreSQL, SQLite, MySQL и MongoDB. Для сложных запросов (например, по нескольким таблицам) предлагается использовать библиотеку esqueleto, которая работает поверх библиотеки persistent.

Главная страница Haskell