Systemy Typów

Język wykładowy Polski
Semestr Zimowy
Status W ofercie
Opiekun Piotr Polesiuk
Liczba godzin 30 (wyk.) 30 (ćw.)
Rodzaj I2.T - teoria inf.
ECTS 6
Polecany dla I roku Nie
Egzamin Tak

Opis przedmiotu:

Wykład będzie przeglądem wybranych koncepcji, wokół których zbudowane są systemy typów współczesnych języków programowania. Nacisk będzie położony przede wszystkim na teoretyczne aspekty systemów typów. Będziemy szukać odpowiedzi na pytania takie jak: - Co to znaczy, że system typów jest poprawny? - Jak pokazać poprawność systemu typów? - Co tak naprawdę znaczą typy? - Jak zaprojektować system typów, by nie zrobić czegoś głupiego? ### Wymagania - Zaliczone: Logika dla Informatyków i Metody Programowania. - Znajomość jakiegoś silnie typowanego języka funkcyjnego (np. OCaml, Haskell). - Zamiłowanie do matematycznej elegancji. ### Program 1. Składnia i semantyka operacyjna 2. Typy proste 3. Polimorfizm parametryczny 4. Relacje logiczne, parametryczność i abstrakcja danych 5. Typy rekurencyjne 6. Relacje logiczne indeksowane krokami 7. Podtypowanie 8. Systemy typów i efektów