Original title:
Automatické liftování výrazu v typovaných funkcionálních jazycích
Translated title:
Automatic lifting of expressions for typed functional languages
Authors:
Smrž, Roman ; Pudlák, Petr (advisor) ; Hric, Jan (referee) Document type: Master’s theses
Year:
2014
Language:
eng Abstract:
[eng][cze] In typed functional programming there is often the need for combining pure and monadic (or other effectful) computations, but the required lifting must be done manually by the programmer and may result in cluttered code. This thesis explores ways to allow the compiler to perform this task automat- ically. Several possible approaches are described, where the final one reduces the task to solving a system of linear diophantine equations. Apart from monads, the described method is also considered for the case of applicative functors as another abstraction to represent effectful operations. 1Při programování v typovaných funkcionálních jazycích je často potřeba kombinovat čisté a monadické operace (popřípadě jinou reprezentaci postran- ních efektů), nicméně potřebné liftování musí programátor udělat ručně a může vést k nepřehlednému kódu. V této práci zkoumáme možnosti, jak by tuto činnost mohl zastat automaticky kompilátor. Je zde popsáno několik metod, z nichž výsledná převádí daný problém na řešení soustavy lineárních diofantických rovnic. Kromě monád uvažujeme také aplikativní funktory ja- kožto alternativní přístup k práci s postranními efekty výpočtů. 1
Keywords:
functional languages; functional programming; lifting; monads; functional languages; functional programming; lifting; monads
Institution: Charles University Faculties (theses)
(web)
Document availability information: Available in the Charles University Digital Repository. Original record: http://hdl.handle.net/20.500.11956/72617