LISP and Symbolic Computation, 3(1)21-37
Relative Specification and Transformational Re-Use of Functional Programs
Colin Runciman, Department of Computer Science, University of York, York, YO1 5DD, UK
Nigel Jagger, Department of Computer Science, University of York, York, YO1 5DD, UK
Abstract: A relative specification is a collection of laws
relating the behaviour of a required new program to that of one or
more existing programs. A two stage method for transforming such
relative specifications into effective functional programs is
described and illustrated. The inversion stage re-arranges the
specifying laws to obtain a collection of partial definitions for each
unknown function, typically involving non-deterministic operators. The
subsequent fusion stage combines each set of partial definitions into
a single complete definition, thereby eliminating nondeterministic
operators.
Keywords: functional programming, equational specifications,
program derivation
|
[local copy]
|
|