Komonády (nejen) pro programátory
Thesis title in Czech: | Komonády (nejen) pro programátory |
---|---|
Thesis title in English: | Comonads (not only) for programmers |
Key words: | Haskell Agda komonáda zipper derivace |
English key words: | Haskell Agda comonad zipper derivative |
Academic year of topic announcement: | 2013/2014 |
Thesis type: | Bachelor's thesis |
Thesis language: | čeština |
Department: | Department of Theoretical Computer Science and Mathematical Logic (32-KTIML) |
Supervisor: | RNDr. Jan Hric |
Author: | hidden - assigned and confirmed by the Study Dept. |
Date of registration: | 26.11.2013 |
Date of assignment: | 05.12.2013 |
Confirmed by Study dept. on: | 17.12.2013 |
Date and time of defence: | 04.09.2014 00:00 |
Date of electronic submission: | 24.07.2014 |
Date of submission of printed version: | 28.07.2014 |
Date of proceeded defence: | 04.09.2014 |
Opponents: | prof. RNDr. Aleš Pultr, DrSc. |
Guidelines |
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. |
References |
[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. |
Preliminary scope of work |
Varianta názvu:
Použití derivací datových typů v programování |