Город: Санкт-Петербург Новосибирск Казань Язык: Русский English

Компилятор GHC языка Haskell: вводный курс
Санкт-Петербург / весна 2020, посмотреть все семестры

Запишитесь на курс, чтобы получать уведомления и иметь возможность сдавать домашние задания. Для записи требуется регистрация на сайте.
Перейти к регистрации Войти

Этот курс посвящён внутреннему устройству и алгоритмам компилятора GHC языка Haskell. Его цель в том, чтобы слушатели освоились с процессом разработки компилятора и смогли начать как исправлять баги, так и реализовывать новые возможности. Кроме того курс ставит себе цель познакомить слушателей с архитектурой большого и сложного программного обеспечения, реализуемого в функциональном стиле.

В течение десяти лекций мы подробно обсудим все этапы работы компилятора от синтаксического анализа до кодогенерации, в том числе поговорим о выводе типов, трансляции кода на Haskell во внутренний язык GHC Core и принципах вычисления лямбда-термов с помощью STG-машины, разберёмся с окружением, в котором GHC собирает многофайловые проекты, посмотрим на то, как пользоваться компилятором как библиотекой (GHC API) и как писать плагины к GHC, наконец, разберёмся с тем, что происходит в памяти во время исполнения программ на языке Haskell.

Дата и время Название Место Материалы
04 апреля
17:15–18:45
Лекция 1. Общий обзор компилятора и его компонентов, лекция ПОМИ РАН Нет
04 апреля
19:00–20:30
Лекция 2. Компиляция многофайловой программы с зависимостями, лекция ПОМИ РАН Нет
05 апреля
11:15–12:45
Лекция 3. Синтаксический анализ и разрешение имён, лекция ПОМИ РАН Нет
05 апреля
13:00–14:30
Лекция 4. Вывод и проверка типов, лекция ПОМИ РАН Нет
05 апреля
15:30–17:00
Лекция 5. Преобразование в Core и оптимизации, лекция ПОМИ РАН Нет
11 апреля
17:15–18:45
Лекция 6. От Core к STG, от STG к Cmm, лекция ПОМИ РАН Нет
11 апреля
19:00–20:30
Лекция 7. Бэкенды компилятора GHC, лекция ПОМИ РАН Нет
12 апреля
11:15–12:45
Лекция 8. GHC API и разработка плагинов к компилятору, лекция ПОМИ РАН Нет
12 апреля
13:00–14:30
Лекция 9. Подсистема времени исполнения, лекция ПОМИ РАН Нет
12 апреля
15:30–17:00
Лекция 10. Данные в памяти и сборка мусора, лекция ПОМИ РАН Нет