This paper describes Haskelite, a step-by-step interpreter for a small subset of Haskell. Haskelite is designed to help teach fundamental concepts of functional programming, namely: evaluation by rewriting; definition of functions using pattern-matching; recursion; higher-order functions; and on-demand evaluation. The interpreter is implemented in Elm and compiled to JavaScript, so it runs on the browser and requires no installation. This is on-going work and has yet to be fully evaluated; we present some initial experience in the classroom and highlight some points for improvement.
@InProceedings{vasconcelos:OASIcs.ICPEC.2023.12, author = {Vasconcelos, Pedro}, title = {{Haskelite: A Step-By-Step Interpreter for Teaching Functional Programming}}, booktitle = {4th International Computer Programming Education Conference (ICPEC 2023)}, pages = {12:1--12:8}, series = {Open Access Series in Informatics (OASIcs)}, ISBN = {978-3-95977-290-7}, ISSN = {2190-6807}, year = {2023}, volume = {112}, editor = {Peixoto de Queir\'{o}s, Ricardo Alexandre and Teixeira Pinto, M\'{a}rio Paulo}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/OASIcs.ICPEC.2023.12}, URN = {urn:nbn:de:0030-drops-185080}, doi = {10.4230/OASIcs.ICPEC.2023.12}, annote = {Keywords: Functional programming, Step-by-step evaluators, Web applications} }
Feedback for Dagstuhl Publishing