Компилятор GHC (The Glasgow Haskell Compiler) языка Haskell уже в течение почти 30 лет представляет собой площадку для экспериментов в области теории языков программирования. В рамках этого курса мы посмотрим, какие именно результаты теории в нём реализованы, а также обсудим, как можно подключиться к его разработке.
В первой части курса (две лекции) будет рассказываться о структуре компилятора GHC, принципах его разработки и порядке работы.
Вторая часть (три лекции) будет посвящена внутреннему языку GHC Core, в который транслируется код на Haskell и который представляет собой расширение системы полиморфного λ-исчисления высших порядков System Fω, а также вычислению выражений Core с использованием STG-машины.
Дата и время | Название | Место | Материалы |
---|---|---|---|
31 марта 17:15–18:45 |
Лекция 1. Структура и процесс разработки компилятора GHC, Лекция | ПОМИ РАН | слайды, видео |
31 марта 19:00–20:30 |
Лекция 2. Порядок компиляции одного модуля: от лексического анализа до кодогенерации, Лекция | ПОМИ РАН | слайды, видео |
01 апреля 11:15–12:45 |
Лекция 3. Внутренний язык GHC Core как System Fω с алгебраическими типами, Лекция | ПОМИ РАН | слайды, видео |
01 апреля 13:00–14:30 |
Лекция 4. Расширения Core: от System FC к System D, Лекция | ПОМИ РАН | слайды, видео |
01 апреля 15:30–17:00 |
Лекция 5. STG-машина и вычисление выражений Core (редукция на графах), Лекция | ПОМИ РАН | слайды, видео |