Témata prací (Výběr práce)Témata prací (Výběr práce)(verze: 384)
Detail práce
   Přihlásit přes CAS
Typová inference a polymorfismus pro jazyk C
Název práce v češtině: Typová inference a polymorfismus pro jazyk C
Název v anglickém jazyce: Type inference and polymorphism for C
Klíčová slova: překladače, programovací jazyky, typové systémy
Klíčová slova anglicky: compilers, programming languages, type systems
Akademický rok vypsání: 2019/2020
Typ práce: bakalářská práce
Jazyk práce: čeština
Ústav: Katedra softwarového inženýrství (32-KSI)
Vedoucí / školitel: RNDr. Miroslav Kratochvíl, Ph.D.
Řešitel: skrytý - zadáno a potvrzeno stud. odd.
Datum přihlášení: 07.10.2019
Datum zadání: 18.10.2019
Datum potvrzení stud. oddělením: 26.11.2019
Datum a čas obhajoby: 14.09.2020 09:00
Datum odevzdání elektronické podoby:31.07.2020
Datum odevzdání tištěné podoby:31.07.2020
Datum proběhlé obhajoby: 14.09.2020
Oponenti: Mgr. Vít Šefl
 
 
 
Zásady pro vypracování
Despite the remarkable age, the C language and its derivatives remain a tool of choice for programming various low-level, embedded and high-performance systems. A large portion of criticism of C arises from its lack of type system and generic-programming features, which complicate programming of large software and create significant space for programming errors. Although this problem has been sufficiently addressed in C++, simpler approaches exist. This thesis aims to explore the implementation of a data-oriented subset of the Hindley-Milner type system extended with Haskell-style typeclasses in a C-style programming language, with minimal changes to syntax and same run-time behavior and imperative semantics as in C. Such system should provide an interesting benefit of type inference in the whole program, together with a practical model of polymorphism and overloading that is currently used almost exclusively in functional programming. For demonstrating the results, a compiler from "C with typeclasses" to plain C will be implemented and tested on several example programs.
Seznam odborné literatury
Jones, M. P. (1999). Typing haskell in haskell. In Haskell workshop (Vol. 7).

SC22/WG14 (2011). ISO/IEC 9899 - C programming language standard.

Aho, A. V., Sethi, R., & Ullman, J. D. (1986). Compilers, principles, techniques. Addison wesley, 7(8), 9.
 
Univerzita Karlova | Informační systém UK