Introducing Typeling: an Imperative Programming Language with Algebraic Data Types
Horneț, Victor (2023)
Algebraic data types (ADTs) allow easy modelling of complex data structures. When paired with static type checking, they can empower the programmer to write more robust and reliable code. However, ADTs are not as popular in the context of imperative programming languages, compared to functional ones. This research paper investigates the current use of algebraic data types and proposes a new programming language that aims to make ADTs more accessible to beginner programmers with an imperative background. We explore existing implementations of ADTs in popular languages and combine their best features into the design of a new programming language called “Typeling”, then we construct a prototype compiler for it using the LLVM compiler infrastructure.
Hornet_BA_EEMCS.pdf