National Repository of Grey Literature 2 records found  Search took 0.00 seconds. 
Inference-driven resource managemenent and polymorphism in systems programming
Klepl, Jiří ; Kratochvíl, Miroslav (advisor) ; Bednárek, David (referee)
Systems programming languages facilitate the implementation of software that runs in restricted environments close to the hardware, such as operating systems, drivers, and real-time and embedded systems. Implementation of desirable features of such languages, such as generic programming and type system capabilities that prevent programmer errors, are complicated by strict constraints on the run-time properties of the program. This thesis explores a novel combination of C-- language with advanced type system features that allow type checking of highly polymorphic generic code and demonstrates type-driven resource management in this language. As the main result, the thesis provides a proof-of-concept in a prototype compiler of an extended ver- sion of C-- to LLVM and describes a type system based on deferred constraint solving that is capable of type inference in the presence of multi-parameter typeclasses and C-- subtypes. We demonstrate the functionality of the type system and the compiler on selected program examples and report several identified design challenges that may be addressed to make the system more practical. 1
Type inference and polymorphism for C
Klepl, Jiří ; Kratochvíl, Miroslav (advisor) ; Šefl, Vít (referee)
The C language, despite its age, is one of the main languages in systems development. It is valued for giving the user almost complete control over the memory management and the computations the program written in it performs. However, a large portion of criticism of C arises from the lack of generic programming features. C compensates that by utilizing preprocessor macros, which are prone to user errors. This problem has been addressed in the early stages of the development of the C++ language, but many systems developers refuse C++ because of its complexity and non-transparency of the code. We propose a simpler solution by applying the Hindley-Milner type sys- tem extended by Haskell type classes and type constructors. We will show that this approach is viable even with minimal changes to the syntax of C, but giving it much higher expressiveness. 1

Interested in being notified about new results for this query?
Subscribe to the RSS feed.