Uppsats
Functional Programming Languages and the JVM : Comparing Functional Language Compilation Techniques for the JVM
Master-uppsats
KTH/Skolan för elektroteknik och datavetenskap (EECS)
Publicerad: 2023
Språk: Engelska
Nyckelord
klicka för att sökaSammanfattning
Because of its security, high availability, and automatic memory management, the JVM (Java Virtual Machine) is a desirable execution environment. However, since the JVM was originally made for Java, which is an objectoriented language, it is hard for languages with other paradigms to run on it. This thesis explores the challenges of compiling a functional language for the JVM. We implement a backend generating JVM bytecode as an extension to the compiler of MCore, a minimal functional language based on the lambda calculus. The backend features two different ways of compiling functions. One generates classes representing functions and their environment at compile-time, and one creates these function classes dynamically at runtime. The two different versions of compiling functions are compared in regards to execution speed of the outputted bytecode, compiler output size, and recursion depth. The results show that the two different ways of compiling functions perform well on different metrics.
Information
- Författare
- Olofsson, Asta
- Lärosäte / institution
- KTH/Skolan för elektroteknik och datavetenskap (EECS)
- Publiceringsdatum
- 2023
- Uppsatstyp
- Master-uppsats
- Språk
- Engelska
Utforska vidare
Liknande uppsatser
Uppsatser med liknande ämnen och nyckelord.
Master-uppsats, KTH/Skolan för elektroteknik och datavetenskap (EECS)
Åkerfeldt, Magnus
Publicerad: 2023
Kandidat-uppsats, KTH/Skolan för elektroteknik och datavetenskap (EECS)
Hermansson, Viggo, Kanerva, Emil
Publicerad: 2024
Kandidat-uppsats, Göteborgs universitet/Institutionen för data- och informationsteknik
Alestig, Edvin, Ericson, Joel, Eriksson, Erik
Publicerad: 2023-03-03
Master-uppsats, KTH/Skolan för elektroteknik och datavetenskap (EECS)
Stjernberg, Christian
Publicerad: 2025
Master-uppsats, KTH/Skolan för elektroteknik och datavetenskap (EECS)
Williams, Daniel
Publicerad: 2024
Master-uppsats, Göteborgs universitet/Institutionen för data- och informationsteknik
Chonavel, Lawerence
Publicerad: 2023-10-25