Uppsats

Extending a Functional Programming Language with Object-Oriented Concepts : A Case Study on Elixir

Kandidat-uppsats

KTH/Skolan för elektroteknik och datavetenskap (EECS)

Publicerad: 2024

Språk: Engelska

Sammanfattning

In the world of programming languages, functional and object-oriented languages are often viewed as opposing forces competing for dominance. Functional languages contain immutable data structures as well as a focus on pattern matching and recursion. Object-oriented languages contain objects and classes along with features such as inheritance and polymorphism. In reality, concepts from either are far from incompatible, with many aspects of the functional programming paradigm today finding their way into imperative and object-oriented languages, as well as vice versa. This thesis aims to examine how these two paradigms can be united in a language that does not initially mix the two by extending the functional programming language Elixir with concepts from the object-oriented programming paradigm. Both paradigms were studied and their core features defined, which guided the design of an extension that aims to unite these concepts as intimately as possible. The resulting implementation was evaluated using a set of test programs displaying the extension's features. The limitations of the extension were discussed and the conclusion was drawn that a unification of the two paradigms, functional programming and object-oriented programming, had been achieved through the extension of Elixir.

Information

Lärosäte / institution
KTH/Skolan för elektroteknik och datavetenskap (EECS)
Publiceringsdatum
2024
Uppsatstyp
Kandidat-uppsats
Språk
Engelska

Utforska vidare

Liknande uppsatser

Uppsatser med liknande ämnen och nyckelord.