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. In fact,
many programming concepts that are considered to be important by the functional programming
paradigm, such as recursion, higher-order functions, pattern-matching, and lazy evaluation, can be
explained by showing a step-wise computation. We think that students can get a better understanding
of these concepts if they are trained to perform these evaluation steps on their own. We also think that
tool support is lacking for experimenting with the evaluation of Haskell expressions. In this paper
we present a prototype implementation of a step-wise evaluator for Haskell expressions that supports
multiple evaluation strategies, and which is specifically targeted at education. Besides performing
these evaluation steps, the tool can also diagnose steps that are submitted by students and provide
feedback.
reader insight into the evaluation of expressions and the behavior of functional programs. In fact,
many programming concepts that are considered to be important by the functional programming
paradigm, such as recursion, higher-order functions, pattern-matching, and lazy evaluation, can be
explained by showing a step-wise computation. We think that students can get a better understanding
of these concepts if they are trained to perform these evaluation steps on their own. We also think that
tool support is lacking for experimenting with the evaluation of Haskell expressions. In this paper
we present a prototype implementation of a step-wise evaluator for Haskell expressions that supports
multiple evaluation strategies, and which is specifically targeted at education. Besides performing
these evaluation steps, the tool can also diagnose steps that are submitted by students and provide
feedback.
Original language | English |
---|---|
Title of host publication | Proceedings TFPIE 2014: 3rd International Workshop on Trends in Functional Programming in Education |
Editors | James Caldwell, Philip Hölzenspies, Peter Achten |
Pages | 50-66 |
Publication status | Published - 12 Dec 2014 |
Publication series
Name | Electronic Proceedings in Theoretical Computer Science |
---|---|
Volume | 170 |