Evaluating Haskell expressions in a tutoring environment

Publication date

2014

Authors

Olmer, Tim
Heeren, B.J.ISNI 0000000396075391
Jeuring, J.T.ISNI 0000000110063265

Editors

Advisors

Supervisors

DOI

Document Type

Report
Open Access logo

License

Abstract

A number of introductory textbooks for Haskell use calculations right from the start to give the reader insight into the evaluation of expressions and the behavior of functional programs. Many programming concepts that are important in the functional programming paradigm, such as recursion, higher-order functions, pattern-matching, and lazy evaluation, can be partially explained by showing a stepwise computation. A student gets a better understanding of these concepts if she performs these evaluation steps herself. Tool support for experimenting with the evaluation of Haskell expressions is currently lacking. In this paper we present a prototype implementation of a stepwise evaluator for Haskell expressions that supports multiple evaluation strategies, specifically targeted at education. Besides performing evaluation steps the tool also diagnoses steps that are submitted by a student, and provides feedback. Instructors can add or change function definitions without knowledge of the tool’s internal implementation. We discuss some preliminary results of a small survey about the tool.

Keywords

Citation

Olmer, T, Heeren, B & Jeuring, J 2014, Evaluating Haskell expressions in a tutoring environment. Technical Report Series, no. UU-CS-2014-021, UU BETA ICS Departement Informatica, Utrecht.