Komonády (nejen) pro programátory
Název práce v češtině: | Komonády (nejen) pro programátory |
---|---|
Název v anglickém jazyce: | Comonads (not only) for programmers |
Klíčová slova: | Haskell Agda komonáda zipper derivace |
Klíčová slova anglicky: | Haskell Agda comonad zipper derivative |
Akademický rok vypsání: | 2013/2014 |
Typ práce: | bakalářská práce |
Jazyk práce: | čeština |
Ústav: | Katedra teoretické informatiky a matematické logiky (32-KTIML) |
Vedoucí / školitel: | RNDr. Jan Hric |
Řešitel: | skrytý - zadáno a potvrzeno stud. odd. |
Datum přihlášení: | 26.11.2013 |
Datum zadání: | 05.12.2013 |
Datum potvrzení stud. oddělením: | 17.12.2013 |
Datum a čas obhajoby: | 04.09.2014 00:00 |
Datum odevzdání elektronické podoby: | 24.07.2014 |
Datum odevzdání tištěné podoby: | 28.07.2014 |
Datum proběhlé obhajoby: | 04.09.2014 |
Oponenti: | prof. RNDr. Aleš Pultr, DrSc. |
Zásady pro vypracování |
Derivace datového typu [1] umožňuje popsat polohu (tj. výskyt) dat v (termové) datové
struktuře, např. v jazyku Haskell. To dále dovoluje oddělit kontext dat, resp. strukturu dat, od vlastních dat, tj. hodnot. Komonády vznikly jako teoretický nástroj a poskytují abstrakci pro výpočty závislé na kontextu, a to nejen v datové struktuře. Konkrétní příklad použití těchto technik je zipper [2]. Práce by měla obsahovat vysvětlení derivací datových typů a komonád s důrazem na praktickou aplikovatelnost a použitelnost ve funkcionálním programování. Dále by měla předvést a rozebrat konkrétní příklady využití těchto technik, např. prostřednictvím case studies a knihoven. Jako inspiraci je možné použít integraci monád do Haskellu a jeho knihoven. Část práce se může věnovat vhodnosti a správnosti návrhu komonád včetně formalizace (např. v jazyce Agda) anebo rozšíření na komonadické transformátory. |
Seznam odborné literatury |
[1] Conor Mc Bride. The Derivative of a Regular Type is its Type of One-Hole Contexts. http://strictlypositive.org/diff.pdf
[2] Gérard Huet. The Zipper. Journal of Functional Programming, 7 (5), Sept 1997, pp. 549--554. |
Předběžná náplň práce |
Varianta názvu:
Použití derivací datových typů v programování |