EMBER_CLI_FASTBOOT_BODY

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

Play
Current Time 0:00
/
Duration Time 0:00
Remaining Time -0:00
Stream TypeLIVE
Loaded: 0%
Progress: 0%
00:00
Fullscreen
00:00
Mute
Playback Rate
  • 2x
  • 1.75x
  • 1.5x
  • 1.25x
  • 1x
  • 0.75x
  • 0.5x
1
Chapters
  • Chapters
Play
To watch this video please visit https://stepik.org/lesson//step/

About the course

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

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

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

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

Instructors

  1. доцент кафедры МИТ СПбАУ РАН

Reviews

Rated:  5
Курс для тех, кто хочет разобраться. Пошевелить мозгами и понять теорию. Академичный курс по академичному языку. Но язык Haskell используется не только в академических исследованиях. Очень жаль, что в курсе практически отсутствует так называемый Real World Haskell (есть одноименная книга) - тот самый, который используют хаскелисты для написания эффективных и выразительных программ, всё-таки взаимодействующих с реальным миром через монаду IO. Оптимизации, параллелизм, эффективная работа с данными, взаимодействие с другими языками, и многое другое, видимо требуют отдельного и вдумчивого курса. Хотя должен признать, что после такой основательной теоретической подготовки почти всё можно освоить самостоятельно в довольно короткий срок.
Rated:  5
Спасибо за ваш труд! Хороший курс!
Sergei Solomkin March 23, 2018 link
Rated:  5
Спасибо за великолепный курс.
Play
Current Time 0:00
/
Duration Time 0:00
Remaining Time -0:00
Stream TypeLIVE
Loaded: 0%
Progress: 0%
00:00
Fullscreen
00:00
Mute
Playback Rate
  • 2x
  • 1.75x
  • 1.5x
  • 1.25x
  • 1x
  • 0.75x
  • 0.5x
1
Chapters
  • Chapters
Play
To watch this video please visit https://stepik.org/lesson//step/
4.9 All reviews

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

Open date:
Feb 26, 2018
Last deadline:
Apr 9, 2018
Expected time to complete:
57 hours
Language:
Русский
Certificate:
Not issuing
Certificate:
Not issuing

About the course

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

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

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

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

Requirements

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