Title :
Automating changes of data type in functional programs
Author :
Richardson, Julian
Author_Institution :
Dept. of Artificial Intelligence, Edinburgh Univ., UK
Abstract :
I present an automatic technique for transforming a program by changing the data types in that program to ones which are more appropriate for the task. Programs are synthesised by proving modified synthesis theorems in the proofs-as-programs paradigm. The transformation can be verified in the logic of type theory. Transformations are motivated by the presence of subexpressions in the synthesised program. A library of data type changes is maintained, indexed by the motivating subexpressions. These transformations are extended from the motivating expressions to cover as much of the program as possible. I describe the general pattern of the revised synthesis proof, and show how such a proof can be guided by difference matching followed by rippling
Keywords :
data structures; functional programming; libraries; program verification; programming theory; software libraries; theorem proving; type theory; automated data type changes; automatic technique; data type change library; difference matching; functional programs; modified synthesis theorem proving; program synthesis; program transformation; proofs-as-programs paradigm; revised synthesis proof; rippling; subexpressions; type theory logic; verification; Artificial intelligence; Computer languages; Data structures; Libraries; Logic programming; Pattern matching; Shape; Writing;
Conference_Titel :
Knowledge-Based Software Engineering Conference, 1995 .Proceedings., 10th
Conference_Location :
Boston, MA
Print_ISBN :
0-8186-7204-8
DOI :
10.1109/KBSE.1995.490132