Functional programming presents new challenges in the design of programming environments. In a strongly typed functional language, such as ML, much conventional debugging of runtime errors is replaced by dealing with compile time error reports. On the other hand, the cleanness of functional programming 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 uses an underlying proof system as a framework for automatically checking for semantic errors such as non-termination. In addition, C
|
1463
|
The definition of Standard ML
– Milner, Tofte, et al.
- 1990
|
|
1128
|
Monads for functional programming
– Wadler
- 1992
|
|
356
|
The formulas-as-types notion of construction
– Howard
- 1980
|
|
335
|
ML for the working programmer
– Paulson
- 1991
|
|
212
|
Usability Analysis of Visual Programming Environments: A "Cognitive Dimensions" Framework
– Green, Petre
- 1996
|
|
124
|
The Cornell Program Synthesizer: a syntax-directed programming environment
– Teitelbaum, Reps
- 1981
|
|
52
|
Explaining type inference
– Duggan, Bent
- 1996
|
|
40
|
The role of learning from examples in the acquisition of recursive programming skills. Canadian Journal of Psychology 39:240{272
– Pirolli, Anderson
- 1985
|
|
37
|
Equational programming
– Dershowitz, Plaisted
- 1988
|
|
28
|
Retrieving re-usable software components by polymorphic type
– Runciman, Toyn
- 1989
|
|
23
|
Elements of ML Programming
– Ullman
- 1994
|
|
21
|
Learning Prolog in a Schema-Based Environment
– Gegg-Harrison
- 1991
|
|
20
|
Skeletons and techniques for Prolog programming
– Kirschenbaum, Lakhotia, et al.
- 1989
|
|
17
|
Walther recursion
– McAllester, Arkoudas
- 1996
|
|
13
|
Individual selection of examples in an intelligent learning environment
– Weber
- 1996
|
|
11
|
Learning to program recursive functions
– Anderson, Pirolli, et al.
- 1988
|
|
10
|
A visualisation of polymorphic type checking
– Yang, Michaelson
- 2000
|
|
9
|
Supporting the learning of recursive problem solving. Interactive Learning Environments
– Bhuiyan, Greer, et al.
- 1994
|
|
6
|
Prototypes and Production Rules: A Knowledge Representation for Computer Consultations
– Aikins
- 1980
|
|
6
|
An interactive programming environment for ML. Rapport de Recherche 3139, INRIA Sophia Antipolis
– Rideau, Th'ery
- 1997
|
|
6
|
The Use of Proofs-as-Programs to Build an Analogy-Based Functional Program Editor
– Whittle
- 1999
|
|
5
|
Searching for examples: An evaluation of an intermediate description language for a techniques editor
– Brna, Good
- 1996
|
|
5
|
Problem solving by analogy: A source of errors in novice LISP programming
– Escott, McCalla
- 1988
|
|
5
|
Elementary Standard ML
– Michaelson
- 1995
|
|
5
|
An ML editor based on proofs-as-programs
– Whittle, Bundy, et al.
- 1999
|
|
4
|
An analysis of errors in interactive proof attempts
– Aitken
- 1996
|
|
2
|
Programming plans and techniques
– Bowles, Brna
- 1993
|
|
2
|
A recursive techniques editor
– Bundy, Grosse, et al.
- 1991
|
|
2
|
Graphic editing of structured text
– Hansen
- 1971
|
|
1
|
Why doesn't my program work? : requirements for automated analysis of novices' computer programs
– Bental
- 1995
|
|
1
|
A Java editor based on proofsas -programs
– Blewitt
- 1998
|
|
1
|
The CAML Light system (release 0.7). Projet cristal, INRIA Sophia Antipolis
– Leroy
- 1995
|
|
1
|
ML of New Jersey, version 0.93. Tech.rep, AT&T Bell Laboratories, Available at http://www.dcs.napier.ac.uk/course-notes/sml/BASE.ps
– Standard
|