Evaluating environments for functional programming

Authors
Citation
J. Whittle, Evaluating environments for functional programming, INT J HUM-C, 52(5), 2000, pp. 847-878
Citations number
35
Categorie Soggetti
Psycology,"AI Robotics and Automatic Control
Journal title
INTERNATIONAL JOURNAL OF HUMAN-COMPUTER STUDIES
ISSN journal
10715819 → ACNP
Volume
52
Issue
5
Year of publication
2000
Pages
847 - 878
Database
ISI
SICI code
1071-5819(200005)52:5<847:EEFFP>2.0.ZU;2-Z
Abstract
Functional programming presents new challenges in the design of programming environments. In a strongly typed functional language, such as ML, much co nventional debugging of runtime errors is replaced by dealing with compile- time error reports. On the other hand, the cleanness of functional programm ing opens up new possibilities for incorporating sophisticated correctness- checking techniques into such environments. C(Y)NTHIA is a novel editor for ML that both addresses the challenges and explores the possibilities. It u ses an underlying proof system as a framework for automatically checking fo r semantic errors such as non-termination. In addition, C(Y)NTHIA embodies the idea of programming by analogy-whereby users write programs by applying abstract transformations to existing programs. This paper investigates C(Y )NTHIA's potential as a novice ML programming environment. We report on two studies in which it was found that students using C(Y)NTHIA commit fewer e rrors and correct errors more quickly than when using a compiler/text edito r approach. (C) 2000 Academic Press.