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...
Main Authors: | , , |
---|---|
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 |