Языки программирования со статической типизацией было бы крайне неудобно использовать, если бы для них не существовало алгоритмов вывода типов. К сожалению, вывод типов — это благо, которое далеко не всегда имеет место. К счастью, для языков типа Haskell это возможно, хотя и довольно сложно с учётом богатства системы типов. В этом курсе лекций мы начнём с алгоритма вывода типов Хиндли для простого статически типизированного функционального языка, затем расширим и уточним его, получив алгоритм Дамаса — Милнера, а после этого перейдём к рассмотрению фреймворка для вывода типов OutsideIn(X), на основе которого в настоящее время выполняется вывод типов компилятором GHC языка Haskell. Для успешного прохождения курса желательно владение языком программирования Haskell (на базовом уровне).
Date and time | Class|Name | Venue|short | Materials |
---|---|---|---|
02 March 17:15–18:45 |
Лекция 1. Вывод типов в простом функциональном языке программирования, Lecture | ПОМИ | slides, video |
02 March 19:00–20:30 |
Лекция 2. Вывод типов в системе Хиндли — Милнера и структурированное представление алгоритмов вывода типов, Lecture | ПОМИ | video |
03 March 11:15–12:45 |
Лекция 3. Локальные допущения и вывод типов в Haskell, Lecture | ПОМИ | slides, video |
03 March 13:00–14:30 |
Лекция 4. Алгоритм вывода типов OutsideIn(X), Lecture | ПОМИ | video |
03 March 15:30–17:00 |
Лекция 5. Вывод типов с GADT, классами типов и семействами типов в GHC, Lecture | ПОМИ | video |