Evaluating Haskell expressions in a tutoring environment

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-o...

Full description

Bibliographic Details
Main Authors: Tim Olmer, Bastiaan Heeren, Johan Jeuring
Format: Article
Language:English
Published: Open Publishing Association 2014-12-01
Series:Electronic Proceedings in Theoretical Computer Science
Online Access:http://arxiv.org/pdf/1412.4879v1
id doaj-25a4b0f3022248b9bf898b459355da34
record_format Article
spelling doaj-25a4b0f3022248b9bf898b459355da342020-11-24T21:17:05ZengOpen Publishing AssociationElectronic Proceedings in Theoretical Computer Science2075-21802014-12-01170Proc. TFPIE 2014506610.4204/EPTCS.170.4:4Evaluating Haskell expressions in a tutoring environmentTim Olmer0Bastiaan Heeren1Johan Jeuring2 Open University of the Netherlands Open University of the Netherlands Universiteit Utrecht and Open University of the Netherlands 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.http://arxiv.org/pdf/1412.4879v1
collection DOAJ
language English
format Article
sources DOAJ
author Tim Olmer
Bastiaan Heeren
Johan Jeuring
spellingShingle Tim Olmer
Bastiaan Heeren
Johan Jeuring
Evaluating Haskell expressions in a tutoring environment
Electronic Proceedings in Theoretical Computer Science
author_facet Tim Olmer
Bastiaan Heeren
Johan Jeuring
author_sort Tim Olmer
title Evaluating Haskell expressions in a tutoring environment
title_short Evaluating Haskell expressions in a tutoring environment
title_full Evaluating Haskell expressions in a tutoring environment
title_fullStr Evaluating Haskell expressions in a tutoring environment
title_full_unstemmed Evaluating Haskell expressions in a tutoring environment
title_sort evaluating haskell expressions in a tutoring environment
publisher Open Publishing Association
series Electronic Proceedings in Theoretical Computer Science
issn 2075-2180
publishDate 2014-12-01
description 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.
url http://arxiv.org/pdf/1412.4879v1
work_keys_str_mv AT timolmer evaluatinghaskellexpressionsinatutoringenvironment
AT bastiaanheeren evaluatinghaskellexpressionsinatutoringenvironment
AT johanjeuring evaluatinghaskellexpressionsinatutoringenvironment
_version_ 1726014229829386240