Функциональное программирование на языке Haskell (часть 2)

Курс является продолжением курса "Функциональное программирование на языке Haskell". Мы познакомимся с новыми типами данных и классами типов, упрощающими работу с эффектами, и позволяющими конструировать и использовать составные эффекты.
Сертификат Stepik

О курсе

Этот курс является продолжением курса "Функциональное программирование на языке Haskell".

В его рамках мы познакомимся с рядом новых классов типов и типов данных, которые позволят сделать наши программы еще более выразительными и лаконичным. Особое внимание будет уделено программированию с эффектами. Мы встретимся с новыми монадами, узнаем про аппликативные функторы - класс типов, лежащий между функторами и монадами. Мы обобщим понятие свертки, знакомое нам по спискам, на произвольные контейнерные типы, введя класс типов Foldable. Не останавливаясь на этом, мы введем класс Traversable, соединяющий идеи функтора и свертки с одной стороны и отображающей/сворачивающей функции с аппликативным/монадическим эффектом с другой. Мы научимся реализовывать вычисления с составными эффектами, используя как механизм композиции на уровне типов, так и более мощный инструментарий монадических трансформеров.

При изучении языка мы стараемся не просто познакомить слушателей с библиотечными функциями, типами и классами типов, но и разобрать их реализацию. Часто мы просто последовательно конструируем модуль стандартной библиотеки с нуля, по ходу дела обсуждая причины, по которым приняты те или иные решения. Нам кажется, что такой подход способствует более глубокому пониманию устройства языка и приводит к более зрелым навыкам программирования.

Программа базируется на курсах, читавшихся в Академическом университете РАН и Computer Science Center.

Начальные требования

Знакомство с синтаксисом и стандартной библиотекой Haskell в объеме первой части курса

Наши преподаватели

Программа курса

загружаем...
Certificate

Сертификат

Сертификат Stepik
Price: Бесплатно

Расскажите о курсе друзьям

Price: Бесплатно