© 1994 by British Computer Society
| ||||||||||||||||||||||||||||||||||||||||||||||||||
A Symbolic Calculator for Non-Strict Functional Programs
Department of Computer Science, Queen Mary and Westfield College, University of London, London E1 4NS, UK
We report a part of the work of The Calculator Project, a joint research project with QMW and the Open University (Fung et al., 1991). We begin with a case for computer calculators in teaching logic and programming where we set out reasons for using tools in teaching. We provide some background to the project, based on a survey of existing tools and previous studies (Goldson and Reeves, 1993; Goldson et al., 1992, 1993). The case for calculators is intended to set out the basic educational assumptions underlying the project and to motivate the detailed description of one of the tools that has been developed, MiraCalc, a calculator for the programming language Miranda (Turner, 1986). MiraCalc is one of only a few systems of its kind and it is, to our knowledge, the only one to have been in the classroom. We describe the special problems raised by the design of an evaluator for a non-strict functional language, together with the design choices that were made in achieving their solution. The Calculator Project has a strong empirical component which is not described here but its findings are summarized in the conclusion. This paper concentrates on the underlying assumptions of the project and the technical issues raised by the design of a calculator for a non-strict functional language.
Received July 1993.
* Department of Computer Science, Queen Mary and Westfield College, University of London, London E1 4NS, UK