Programowanie funkcyjne
Prowadzący: Krzysztof Gogolewski
Opis
Programowanie funkcyjne to sposób programowania odmienny niż imperatywny, dużo bliższy opisowi matematycznemu. Zobaczycie gdzie można używać funkcji wyższego rzędu (które mogą brać i zwracać inne funkcje); jak można programować nie używając pętli, instrukcji przypisania, ani efektów ubocznych; jak dużo mogą wyrażać typy polimorficzne i co mają wspólnego z logiką.
Zajęcia będą prowadzone w Haskellu (GHC) w formie wykładu przerywanego co jakiś czas przez ćwiczenia.
Program zajęć
- Podstawy składni Haskella, pisanie prostych programów, definiowanie funkcji przez rekursję, currying;
- Definiowanie typów, polimorfizm, dopasowanie wzorców;
- Funkcje wyższego rzędu, funkcje na listach, zapis bezpunktowy (pointfree);
- W jaki sposób w języku czysto funkcyjnym można wykonywać instrukcje wejścia-wyjścia;
- Klasy, typy wyższego rzędu, szczegóły systemu typów.
Wymagania
Wystarczy umiejętność programowania w dowolnym języku imperatywnym.
Przydadzą się laptopy, ale nie są absolutnie niezbędne.
Zadania kwalifikacyjne
Dostępne tutaj.
wersja strony: 2, ostatnia edycja: 02 Jun 2013 16:23