Edinburgh Research Explorer

An Editor for Helping Novices to Learn Standard ML

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Related Edinburgh Organisations

Open Access permissions



Original languageEnglish
Title of host publicationProgramming Languages: Implementations, Logics, and Programs
Subtitle of host publication9th International Symposium, PLILP '97 Including a Special Track on Declarative Programming Languages in Education Southampton, UK, September 3–5, 1997 Proceedings
PublisherSpringer-Verlag GmbH
ISBN (Electronic)978-3-540-69537-0
ISBN (Print)978-3-540-63398-3
Publication statusPublished - 1997

Publication series

NameLecture Notes in Computer Science
PublisherSpringer Verlag
ISSN (Print)0302-9743


This paper describes a novel editor intended as an aid in the learning of the functional programming language Standard ML. A common technique used by novices is programming by analogy whereby students refer to similar programs that they have written before or have seen in the course literature and use these programs as a basis to write a new program. We present a novel editor for ML which supports programming by analogy by providing a collection of editing commands that transform old programs into new ones. Each command makes changes to an isolated part of the program. These changes are propagated to the rest of the program using analogical techniques. We observed a group of novice ML students to determine the most common programming errors in learning ML and restrict our editor such that it is impossible to commit these errors. In this way, students encounter fewer bugs and so their rate of learning increases. Our editor, CYNTHIA, has been implemented and is due to be tested on students of ML from September, 1997.

    Research areas

  • Programming language learning, learning environmnets, analogy

Download statistics

No data available

ID: 6317994