LambdaLab – A Visual, Block-Based Approach to Functional Programming

Panchaud, Mona and Friedrich, Anja (2025) LambdaLab – A Visual, Block-Based Approach to Functional Programming. Other thesis, OST Ostschweizer Fachhochschule.

Full text not available from this repository.

Abstract

Block-based programming tools such as "Scratch" or "LEGO Mindstorms" can give beginner programmers an enjoyable first impression of programming. These tools are based on the imperative programming style, whereas for functional programming, no suitable block-based tool currently exists. By also using a block-based approach for teaching functional programming, the learning process for students could be improved. Previously, new visual approaches to functional programming were studied and evaluated and a proof of concept application with the proposed approach was implemented during a student research project in 2023.

The main goal of this project is to refine the existing concept and implement an application which can be used by programmers who want to learn how to program in a functional style. The application should be built using Haskell and accessible as a web application.

LambdaLab allows users to incrementally build functions by adding different blocks to so-called typed holes. Typed holes are placeholders which can only be filled with an expression of a specific type. Type annotations and a visual indicator which shows whether a specific block can be added to a typed hole guide the user in the creation of their functions. The type annotations are determined through the process of type inference. Thanks to the visual editor, syntax errors are impossible, which removes a big hurdle for beginner programmers. The application gathered positive feedback from users in the usability tests. They were able to quickly grasp the concept and enjoyed using the application. Areas for further improvement, which were identified during the usability tests, were documented and some changes were already implemented.

Overall, this thesis demonstrates significant improvements compared to the proof of concept application. LambdaLab has reached a stage where its effectiveness in enhancing students' understanding of functional programming and making the learning process more enjoyable can now be evaluated in classroom settings. Further usability improvements, such as the ability to rename bindings or an integrated tutorial, could be implemented in a future project. Additionally, support for pattern matching would greatly improve the applicability of LambdaLab. By addressing the aforementioned opportunities for enhancement, the system can become even more usable and effective.

Item Type: Thesis (Other)
Subjects: Area of Application > Consumer oriented
Area of Application > Multimedia
Area of Application > Academic and Education
Technologies > Devices
Technologies > Programming Languages > Haskell
Metatags > IFS (Institute for Software)
Divisions: Bachelor of Science FHO in Informatik > Bachelor Thesis
Depositing User: OST Deposit User
Date Deposited: 29 Sep 2025 10:54
Last Modified: 29 Sep 2025 10:54
URI: https://eprints.ost.ch/id/eprint/1323

Actions (login required)

View Item
View Item