Seminarium: efekty w programowaniu funkcyjnym

Język wykładowy Polski
Semestr Letni
Status Wycofana z oferty
Opiekun Maciej Piróg
Liczba godzin 30 (sem.)
Rodzaj Seminarium
ECTS 3
Polecany dla I roku Nie
Egzamin Nie
Tagi JP (języki programowania i logika)

Opis przedmiotu:

Ważnym aspektem programowania (funkcyjnego i nie tylko) jest kontrola nad efektami obliczeniowymi takimi jak: wejście-wyjście, wyjątki, zmienny stan, niedeterminizm itp. Dzięki kilku prostym technikom panowania nad efektami można uzyskać kod czytelny, modularny i łatwy do testowania. Na seminarium dowiemy się, jak pracować z efektami w praktyce i lepiej zrozumiemy je w teorii. Skupimy się głównie na monadach i modnych obecnie efektach algebraicznych. Proponowane tematy: **Monady w programowaniu funkcyjnym** * Monady i transformatory monad * Monady wolne * Monady kontynuacyjne i kogęstościowe * Monady Reader, Writer, State, Update * Monady jako modalności (przez izomorfizm Curry'ego-Howarda) * Komonady **Efekty algebraiczne** * Modularna składnia i jej interpretacja (typy danych "à la carte") * Programowanie z użyciem handlerów (wprowadzenie do języka Eff lub Frank) * Programy polimorficzne względem efektów * Efekty algebraiczne a typy zależne **Inne aspekty programowania z efektami** * Funktory aplikatywne * Programowanie reaktywne (FRP) * Systemy typów efektów * Obliczenia kwantowe w językach funkcyjnych