Репозиторий, посвящённый семинарским занятиям по курсу "Функциональное программирование" для группы БПМИ166.
Описание будет дополняться. Домашние задания могут дополняться (только в сторону новых задач, старые меняться не будут), а даты сдачи меняться.
Под материалы отдельных занятий выделены свои ветки.
- Всего будет 3 домашних задания. Описания будут выложены в ветке master в отдельных папках.
- Домашние задания оцениваются следующим образом. Каждая задача из задания № 1 и № 2 оценивается в 0,5 балла (если задача содержит два пункта, каждый оценивается в 0,25 балла). Каждая задача из задания № 3 оценивается в 2 балла. Задачи, сданные существенно позже крайнего срока, оцениваются в ⅔ своего веса.
- Теоретическая контрольная работа оценивается от 1 до 10 баллов.
- Накопленная оценка за семестр вычисляется по формуле
m_S=0,72*m_H+0,28*m_Q
, гдеm_H
— сумма баллов за домашние задания (может быть больше 10),m_Q
— оценка за контрольную работу. Оценка за семестр округляется до целой в бóльшую сторону (если оценка окажется равна 11, выставляется 10). - Первая домашняя работа принимается до 15-го февраля включительно.
Программы должны быть выложены на любой гит сервис в приватный репозиторий. Начиная со второй домашней работы корректность должна быть доказана либо математически либо тестами. В первом случае доказательство должно быть написано вместе с кодом с помощью Literate Haskell, во втором - с использованием библиотек hspec + QuickCheck (+ HUnit).
- Страница курса 2019 г.
- "Haskell Programming from First Principles", C.Allen, J.Moronuki
- "Parallel and Concurrent Programming in Haskell", S.Marlow
- Haskell wiki с полезными статьями по идиомам ФП
- Сервер LSP. Ещё не стабилен, но активно развивается.
stylish-haskell
,hoogle
,hlint
- стилизатор, клиент к hackage и линтер, можно поставить черезstack
в систему и интегрировать через плагины в IDE.