|
ABSTRACT
This paper begins by presenting arguments for including data abstraction and compile time type checking in functional programming languages, and discussing in general terms the mechanisms required to provide support for these features. It then goes on to present brief introductions to the algebraic style of formally specifying abstract data types and to the FP style of writing functional programs. The middle section describes a version of FP that includes type checking and data abstraction. The key to this is the development of a framework for describing the FP type system in terms of the already existing algebra of FP programs. The paper concludes with an example program illustrating the style of FP programming made possible by our extensions.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
| |
2
|
|
 |
3
|
R. M. Burstall , D. B. MacQueen , D. T. Sannella, HOPE: An experimental applicative language, Proceedings of the 1980 ACM conference on LISP and functional programming, p.136-143, August 25-27, 1980, Stanford University, California, United States
[doi> 10.1145/800087.802799]
|
| |
4
|
|
| |
5
|
Demers, A. and Donahue, J. (1980) Report on the programming language Russell, Department of Computer Sci., Cornell University.
|
| |
6
|
Goguen, J.A., and Tardo, J.J. (1979) An introduction to OBJ: a language for writing and testing formal algebraic program specifications. Specifications of Reliable Software Conf. Proc., Cambridge, MA. April.
|
| |
7
|
Goguen, J.A., Thatcher, J.W., and Wagner, E.G. (1975) An initial algebra approach to the specification, correctness, and implementation of abstract data types. Current Trends in Programming Methodology, Ed. Yeh, R. Prentice-Hall.
|
| |
8
|
Guttag, J.V. (1980) Notes on type abstraction (version 2). IEEE Transactions on Soft. Eng., Vol. SE.6, No. 1, pp. 13-23, January.
|
 |
9
|
|
 |
10
|
|
| |
11
|
|
| |
12
|
Hoare, C.A.R. (1972) Proofs of correctness of data representations, Acta Informatica, Vol. 1, No. 1, pp.271. 280.
|
| |
13
|
Knuth, D.E. and Bendix, P.B. (1970) Simple word problems in universal algebras, in Computational Problems in Abstract Algebras, Ed. Leech, J., pp. 263-297, New York: Pergamon.
|
 |
14
|
|
 |
15
|
|
 |
16
|
|
 |
17
|
|
| |
18
|
U.S. Department of Defense (1980) Reference manual for the Ada programming language. July.
|
| |
19
|
Williams, John (1980) On the development of the algebra of functional programs. Report No. RJ2983, IBM Research Laboratory, San Jose, California, October.
|
|