Обзор курса
Темы лекций
- Введение. Функциональное программирование. Язык Haskell
- Бестиповое λ-исчисление
- Элементы теории типов. Простое типизированное λ-исчисление
- Параметрический полиморфизм. Алгебраические типы. Классы типов.
- Некоторые стандартные монады. Композиция типов. Трансформаторы монад.
- Ленивые вычисления.
- Обработка исключений.
- Программирование на уровне типов
Лабораторные работы
- Знакомство с Haskell. Компилятор GHC. Интерпретатор GHCi. Среда разработки. Значения. Арифметические операторы.
- Модули. Функция
main
. do-нотация. Аннотации типов. Основные типы. - Рекурсия. Сопоставление с шаблоном. Функции работы со списками.
- Стандартные классы типов. Объявления классов типов.
- Некоторые основные библиотеки.
- Функциональное проектирование
- Программирование на уровне типов
Рекомендованная литература
Основная
- Миран Липовача. Изучай Haskell во имя добра! - М.:ДМК Пресс, 2017.
- Уилл Курт. Программируй на Haskell - М.:ДМК Пресс, 2019.
- Бенжамин Пирс. Типы в языках программирования. M.: “Лямбда-пресс”: “Добросвет”, 2014.
Дополнительная
- Алехандро Серано Мена. Изучаем Haskell - СПб:Питер, 2015.
- Ричард Бёрд. Жемчужины проектирования алгоритмов: функциональный подход : С примерами на языке Haskell - М.:ДМК Пресс, 2013.
- Душкин Р. В. Функциональное программирование на языке Haskell. — М.: ДМК Пресс, 2006. — 608 стр. — ISBN 5-94074-335-8.
- Душкин Р. В. Справочник по языку Haskell. — М.: ДМК Пресс, 2008. — 544 стр. — ISBN 5-94074-410-9.