Teoria kategorii odgrywa w programowaniu funkcjonalnym podobną rolę, jaką
odgrywa algebra w językach pierwszego rzędu. Stosowana początkowo w
konstrukcji semantyk denotacyjnych, przeniknęła, podobnie jak algebra, do
samych językow programowania i jest obecnie narzędziem wykorzystywanym
powszechnie do konstruowania i dowodzenia poprawności programow. Np. znane
programistom z codziennej praktyki monady są tak naprawdę trojkami złożonymi z
endofunktora i dwoch transformacji naturalnych. Chcemy na tym wykładzie
właśnie tak popatrzeć na języki programowania, tj. przyjrzeć się nieco
podstawom teorii kategorii i jej związkom z programowaniem.
**Program:** **Wymagania:** Nie zakładam wcześniejszej wiedzy student ow na
temat teorii kategorii. Od słuchaczy oczekuje się jedynie pewnej sprawności w
operowaniu pojęciami algebry abstrakcyjnej (w zakresie standardowego kursu dla
pierwszakow) i przynajmniej powierzchownej znajomości programowania
funkcjonalnego (najlepiej Haskella).