Communications of the ACM
Software Tools
Proceedings of the International Colloquium on Formalization of Programming Concepts
FP with data abstraction and strong typing
FPCA '81 Proceedings of the 1981 conference on Functional programming languages and computer architecture
Hi-index | 0.01 |
This paper presents a formal specification technique, derived by combining Backus' FP systems with a simple, bottom up, syntax directed scheme. The technique is then used to provide a complete specification of a well known editor. This work was prompted by the apparent inadequacy of existing specification techniques for this task. Below I present the motivation behind this work, an introduction to my programming model and specification technique, and the editor specifications. I finish with a discussion of some conclusions about functional programming and my future directions. My initial concerns were methodological, namely to derive a specification method which is: a) applicable to a broad class of programs; b) easy enough to be more help than burden to the programmer; and c) suitable for verification. Therefore, the important issues with respect to functional programming are clarity—which notations, primitive functions, or conventions add to the conciseness and lucidity of the specifications; and requirements—which properties are needed for any functional system to be formally adequate to the specification and verification tasks.