Thesis (Selection of subject)Thesis (Selection of subject)(version: 368)
Thesis details
   Login via CAS
Inference-driven resource managemenent and polymorphism in systems programming
Thesis title in Czech: Inferencí řízená správa zdrojů a polymorfismus pro systémové programování
Thesis title in English: Inference-driven resource managemenent and polymorphism in systems programming
Key words: programovací jazyky|typové systémy|kompilátory|systémové programování|správa zdrojů
English key words: programming languages|type systems|compilers|systems programming|resource management
Academic year of topic announcement: 2020/2021
Thesis type: diploma thesis
Thesis language: angličtina
Department: Department of Software Engineering (32-KSI)
Supervisor: RNDr. Miroslav Kratochvíl, Ph.D.
Author: Mgr. Jiří Klepl - assigned and confirmed by the Study Dept.
Date of registration: 14.03.2021
Date of assignment: 14.03.2021
Confirmed by Study dept. on: 04.05.2021
Date and time of defence: 13.09.2022 09:00
Date of electronic submission:21.07.2022
Date of submission of printed version:25.07.2022
Date of proceeded defence: 13.09.2022
Opponents: RNDr. David Bednárek, Ph.D.
 
 
 
Guidelines
C-- je nízkoúrovňový programovací jazyk používaný jako částečně přenositelný backend pro jiné překladače, především pro ghc. Syntaxe C--, odvozená z jazyka C, je pro programátory čitelnější než reprezentace v assembleru nebo LLVM, navíc umožňuje výrazně flexibilnější specifikace flow control a datových struktur.

Cílem práce je rozšířit C-- o generické programování implementované parametrickým polymorfismem s typovými třídami. Student naváže na svou bakalářskou práci, která ukázala užitečnost kombinace imperativního jazyka s Hindley-Milnerovým typovým systémem. Hlavní náplní práce budou komplexnější vlastnosti typového systému potřebné pro podporu záznamových typů, automatické zprávy zdrojů podobné RAII, a uživatelsky specifikovatelné sémantiky konstant. Zdrojový kód v rozšířeném C-- bude kompilovaný do vhodně zvolené nižší reprezentace, např. LLVM.

Výsledek by měl zjednodušit implementaci specifického nízkoúrovňového softwaru. Schopnosti kompilátoru budou zhodnoceny pomocí demonstračních programů, především porovnáním s podobně zacílenými jazyky.
References
Sulzmann, M., Müller, M. and Zenger, C., 1999. Hindley/Milner style type systems in constraint form. Res. Rep. ACRC-99-009, University of South Australia, School of Computer and Information Science.

Heeren, B.J., Hage, J. and Swierstra, S.D., 2002. Generalizing Hindley-Milner type inference algorithms.

Vytiniotis, D., Jones, S.P., Schrijvers, T. and Sulzmann, M., 2011. OutsideIn(X): Modular type inference with local assumptions. Journal of functional programming, 21(4-5), pp.333-412.

Jones, S.P., Ramsey, N. and Reig, F., 1999, September. C--: A portable assembly language that supports garbage collection. In International Conference on Principles and Practice of Declarative Programming (pp. 1-28). Springer, Berlin, Heidelberg.

Lattner, C. and Adve, V., 2004, March. LLVM: A compilation framework for lifelong program analysis & transformation. In International Symposium on Code Generation and Optimization, 2004. CGO 2004. (pp. 75-86). IEEE.

Abelson, H. and Sussman, G.J., 1996. Structure and interpretation of computer programs (p. 688). The MIT Press.

Jones, S.P. and Marlow, S., 2002. Secrets of the glasgow haskell compiler inliner. Journal of Functional Programming, 12.
 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html