Mondriλn: A Visual Programming Language Based on the Lambda Calculus

Friedrich, Anja and Panchaud, Mona (2024) Mondriλn: A Visual Programming Language Based on the Lambda Calculus. Other thesis, OST Ostschweizer Fachhochschule.

[thumbnail of HS 2024 2025-SA-EP-Panchaud-Friedrich-PL FP Haskell Open Slot 1.pdf] Text
HS 2024 2025-SA-EP-Panchaud-Friedrich-PL FP Haskell Open Slot 1.pdf - Supplemental Material

Download (3MB)

Abstract

The lambda calculus is a core part of every functional programming class. However, students often find it difficult to grasp, especially the process of beta reduction. Hence, representing lambda terms and the beta reduction process visually could improve its comprehensibility to students and motivate them to learn more about the subject. The goal was to design a visual language for the representation of lambda terms which can aid students’ understanding of lambda calculus. In addition, the language aims to be visually pleasing, simple to draw and reason about on paper, and straightforward to read for humans. A proof of concept application should be created to ensure that the implementation of this language is feasible.

The team conducted research about existing visual esoteric programming languages and visual lambda calculus representations. The results of this research influenced the design of the language. Additionally, the SVG format was chosen for storing the visual representations. Mondriλn uses coloured rectangles and their relative positions to represent lambda terms. This design was inspired by the Dutch painter Piet Mondrian. The language allows for artistic freedom without sacrificing its understandability. Furthermore, it is able to represent all lambda terms, only limited by the number of colours displayable on screens. The proof of concept application is implemented as a command line tool and supports generating images from lambda terms, parsing a lambda term from an image and performing beta reduction on them. This proves that it is possible to implement the language we envisioned. Mondriλn appears to make lambda terms simpler to understand, particularly when it comes to the beta reduction process.

While the language shows promise, its potential usefulness to students remains an open question. Further evaluation is needed to determine how effectively it can aid students’ understanding of lambda calculus, with a particular focus on the beta reduction process. Some unresolved issues remain in the proof of concept application, for example, when handling large lambda terms. A next step to improve the usability of the system could be to develop a web-based interface, which could also offer additional features. Overall, this project provides a good starting point for further development. By addressing the aforementioned limitations and opportunities for enhancement, the system can become even more usable and effective.

Item Type: Thesis (Other)
Subjects: Topics > Internet Technologies and Applications > Visualization
Technologies > Programming Languages
Technologies > Programming Languages > Haskell
Metatags > IFS (Institute for Software)
Divisions: Bachelor of Science FHO in Informatik > Student Research Project
Depositing User: OST Deposit User
Contributors:
Contribution
Name
Email
Thesis advisor
Mehta, Farhad
UNSPECIFIED
Date Deposited: 18 Feb 2025 12:29
Last Modified: 18 Feb 2025 12:29
URI: https://eprints.ost.ch/id/eprint/1264

Actions (login required)

View Item
View Item