|
ABSTRACT
It has long been known that recursively defined types in a highly typed language such as Algol 68 or Pascal may be tested for structural equivalence by the same algorithm that compares finite automata [5,11]. Several authors (for example, [3,8,9,16]) have proposed that classes of types be simultaneously defined by the use of parameterized type definitions, such asType list(x) = record val:x; next:↑list(x) end .This paper shows that unless the use of such parameterized definitions is restricted, new (unparameterized) types may be defined which more closely resemble deterministic context-free languages. In fact, the equivalence problem for such types becomes as hard as the (currently unsolved) deterministic pushdown automaton equivalence problem. Several restrictions on type definitions are considered which allow known equivalence algorithms to be applied.
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
|
Goguen, J. A. and Thatcher, J. W. Initial algebra semantics. IEEE Symposium on Switching and Automata Theory, v. 15, 1974, 63-77.
|
| |
3
|
|
| |
4
|
|
| |
5
|
|
 |
6
|
|
 |
7
|
|
| |
8
|
|
| |
9
|
Liskov, B., et al. Abstraction Mechanisms in CLU. M.I.T. Computation Structures Group Memo 144-1. January, 1977.
|
| |
10
|
Rosen, B. K. and Lewis, C. H. Recursively defined datatypes, part II. Report RC 4713, IBM T. J. Watson Research Center, Yorktown Heights, N. Y., 1974.
|
 |
11
|
|
| |
12
|
|
| |
13
|
Stearns, R. E. A regularity test for pushdown machines. Inf. and Control 11, 3 (September, 1967), 323-340.
|
| |
14
|
Valient, L. B. The equivalence problem for deterministic finite-turn pushdown automata. Inf. and Control 25, 2 (June, 1974), 123-133.
|
| |
15
|
Wijngaarden, A. van et al. Revised report on the algorithmic language ALGOL 68. Acta Informatica 5 (1975), 1-236.
|
| |
16
|
Wulf, W. A., London, R. L., and Shaw, M. Abstraction and verification in Alphard: introduction to language and methodology. Technical report, Carnegie-Mellon University, June 14, 1976.
|
|