University of Twente Student Theses
Towards gradual typing: a type-shifting Python language implementation
Ntagengerwa, Manzi Aimé (2024) Towards gradual typing: a type-shifting Python language implementation.
PDF
1MB |
Abstract: | Programming languages are fundamental to the use of a machine, and there are continuously new languages being devised and published to tailor to domain-specific needs, or to improve the general interaction between a programmer and a machine. Existing languages are also continuously updated and improved. Higher-level programming languages are more expressive in use. This enables programmers to develop programs efficiently and comfortably. However, all high-level languages must be made concrete before or at runtime, and there is a lot of machinery involved with this task. One of the common interests in the implementation of programming languages is performance optimization. This thesis designs and implements an alternative implementation of the Python programming language, by applying ahead-of-time compilation rather than interpretation, enabling a new class of performance optimizations. Additionally, we will shift Python’s dynamic type system towards a more static one, reducing runtime type checking overhead. The design proposes an execution model that allows for this type shifting. The implementation of this design, Tython, leverages the LLVM compiler infrastructure to obtain general optimizations, resulting in the emergent behaviour of type shifting. The performance of the executables generated by the compiler is measured under a standard set of benchmarks. |
Item Type: | Essay (Master) |
Faculty: | EEMCS: Electrical Engineering, Mathematics and Computer Science |
Subject: | 54 computer science |
Programme: | Computer Science MSc (60300) |
Link to this item: | https://purl.utwente.nl/essays/103410 |
Export this item as: | BibTeX EndNote HTML Citation Reference Manager |
Repository Staff Only: item control page