Функциональное программирование
Санкт-Петербург / весна 2012, посмотреть все семестры

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

Тема 1. Основы функционального программирования

Понятие о функциональном программировании; введение в Haskell; списки и определение новых типов данных в Haskell; функции высших порядков; карринг и функциональное представление данных; ленивые вычисления и бесконечные списки; потоки и завязывание узлов; регулярные выражения; представление графов; классы; другие стили функционального программирования: LISP и FP.

Тема 2. Лямбда-исчисление

Основы лямбда-исчисления; рекурсия в лямбда-исчислении и чистое лямбда-исчисление.

Тема 3. Интерпретация и компиляция функциональных программ

Представление функциональных программ; Eval/Apply интерпретатор; функциональная SECD-машина.

Тема 4. Введение в редукцию графов

Введение в редукцию графов; введение в комбинаторную редукцию; комбинаторная редукция на графах.

Студентам будет предложено для самостоятельного решения около 15 задач. Решение всех этих и некоторых других задач будут разобраны на занятиях. Общий объем курса, включающий лекции и решение задач, составляет примерно 40 часов.

Рекомендуемая литература: * А. Филд, П. Харрисон. Функциональное программирование. М.: Мир, 1993. * Р. В. Душкин Функциональное программирование на языке Haskell (+ CD-ROM)?Издательство: ДМК Пресс, 2007 г., Мягкая обложка, 608 стр. * Graham Hutton. Programming in Haskell. 2007 г., Мягкая обложка, 184 стр. * Пол Хьюдак, Джон Петерсон, Джозеф Фасел. Мягкое введение в Haskell.?RSDN Magazin, 2006 № 4 и 2007 № 1

Видео лекций можно найти по ссылке.

Дата и время Название Место Материалы
17 февраля
18:30–19:50
Что такое функциональное программирование, лекция ФМЛ 239, Актовый зал слайды
24 февраля
18:30–19:50
Списки. Функции высших порядков, лекция ФМЛ 239, Актовый зал слайды
02 марта
18:30–19:50
Карринг и ленивые вычисления, лекция ФМЛ 239, Актовый зал слайды
16 марта
18:30–19:50
"Завязывание узлов". Классы, лекция ФМЛ 239, Актовый зал слайды
23 марта
18:30–19:50
Системы функционального программирования. Основы лямбда-исчисления, лекция ФМЛ 239, Актовый зал слайды
30 марта
18:30–19:50
Чистое лямбда-исчисление, лекция ФМЛ 239, Актовый зал слайды
13 апреля
18:30–19:50
Интерпретация и компиляция функциональных программ, лекция ФМЛ 239, Актовый зал слайды
20 апреля
18:30–19:50
Введение в редукцию графов, лекция ФМЛ 239, Актовый зал слайды
27 апреля
18:30–19:50
Комбинаторная редукция, лекция ФМЛ 239, Актовый зал слайды
18 мая
18:30–19:50
Письменный экзамен, лекция ФМЛ 239, Актовый зал Нет