Use this URL to cite or link to this record in EThOS:
Title: The use of proofs-as-programs to build an analogy-based functional program editor
Author: Whittle, J. N. D.
Awarding Body: University of Edinburgh
Current Institution: University of Edinburgh
Date of Award: 1999
Availability of Full Text:
Full text unavailable from EThOS.
Please contact the current institution’s library for further details.
This thesis presents a novel application of the technique known as proofs-as-programs. Proofs-as-programs defines a correspondence between proofs in a constructive logic and fundamental programs. By using this correspondence, a functional program may be represented directly as the proof of a specification and so the program may be analysed, within this proof framework. CYNTHIA is a programming editor for the functional language ML which uses proofs-as-programs to analyse users' programs as they are written. So that the user requires no knowledge of proof theory, the underlying proof representation is completely hidden. The proof framework allows programs written in CYNTHIA to be checked to be syntactically correct, well-typed, well-defined and terminating. Users of CYNTHIA make fewer programming errors and the feedback facilities of CYNTHIA mean that it is easier to track down the source of errors when they do occur. CYNTHIA also embodies the idea of programming by analogy - rather than starting from scratch, users always begin with an existing function definition. They then apply a sequence of high-level editing commands which transform this starting definition into the one required. These commands preserve correctness and also increase programming efficiency by automating commonly occurring steps. The thesis describes the design and implementation of CYNTHIA and investigates its role as a novice programming environment. Use by experts is possible but only a subset of ML is currently supported. Two major trials of CYNTHIA have shown that CYNTHIA is well-suited as a teaching tool.
Supervisor: Not available Sponsor: Not available
Qualification Name: Thesis (Ph.D.) Qualification Level: Doctoral
EThOS ID:  DOI: Not available