University of Twente Student Theses

Login

Towards gradual typing: a type-shifting Python language implementation

Ntagengerwa, Manzi Aimé (2024) Towards gradual typing: a type-shifting Python language implementation.

[img] 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