A Symbolic Calculator for Non-Strict Functional Programs

Doug Goldson · The Computer Journal · 1994

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.

Read the paper · More papers on PaperTik