|
ABSTRACT
The paper introduces a variant of Backus' functional programming language FP that has non-strict basic operations as well as non-strict language constructs. The basic data structure of FP, finite nested sequences, is generalized to infinite trees by allowing a non-strict sequence constructor. Then infinite objects can be described as least solutions of recursion equations. For this language variant we give a structured mathematical and operational semantics which employs rewriting rules on finite terms. Infinite objects are evaluated by repeated unfolding of their recursive definitions and subsequent simplifications according to a confluent and Noetherian rewriting system on the level of objects. Two algorithms are given that formalize the ideas of busy (data-driven) and lazy (demand-driven) evaluation. Throughout the paper the semantic concepts of FP are explained; special emphasis is laid on the notion and the proper algebraic treatment of infinite objects.
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
|
J. Backus: Is computer science based on the wrong fundamental concept of 'program'? An extended concept. In: J.W. de Bakker, J.C. van Vliet (eds.): Algorithmic languages. Proceedings of the International Symposium on Algorithmic Languages. Amsterdam-New York-Oxford: North-Holland 1981, 133-165
|
 |
4
|
|
| |
5
|
J. Backus: Function-level computing. IEEE Spectrum 19:8, 22-27 (1982)
|
| |
6
|
|
| |
7
|
|
| |
8
|
F.L. Bauer, M. Broy, W. Dosch, F. Geiselbrechtinger, R. Gnatz, W. Hesse, B. Krieg-Brückner, A. Laut, T. Matzner, B. Möller, F. Nickl, H. Partsch, P. Pepper, K. Samelson (@@@@), M. Wirsing, H. Wössner: The wide spectrum language 84. Technische Universität Monchen, Institut für Informatik, December 1983
|
| |
9
|
M. Broy: A fixed point approach to applicative multiprogramming. In: M. Broy, G. Schmidt (eds.): Theoretical foundations of programming methodology. Dordrecht: Reidel 1982, 565-622
|
| |
10
|
V.J. Bush, J.N.F. Oliveira, J.R. Gurd: FP as a basis for dataflow program transformation. University of Manchester, Department of Computer Science, Dataflow Research Project, October 1983
|
 |
11
|
|
| |
12
|
B. Courcelle, M. Nivat: Algebraic families of interpretations. Proc. 17th Annual IEEE Symposium on Foundations of Computer Science, 1976, 137-146
|
| |
13
|
|
| |
14
|
D.P. Friedman, D.S. Wise: CONS should not evaluate its arguments. In: S. Michaelson, R. Milner (eds.): Automata, languages and programming. Edinburgh: Edinburgh University Press 1976, 257-285
|
 |
15
|
|
| |
16
|
|
 |
17
|
|
| |
18
|
G. Huet, D.C. Oppen: Equations and rewrite rules - a survey. In: R.V. Book (ed.): Formal language theory - perspectives and open problems. London: Academic Press 1980, 349-405
|
| |
19
|
S.C. Kleene: Introduction to metamathematics. New York: Van Nostrand 1952
|
| |
20
|
G.A. Magó: A network of microprocessors to execute reduction languages. International Journal on Computer and Information Systems 8:5, 349-385, 8:6, 435-471 (1979)
|
 |
21
|
|
| |
22
|
B. Möller: Unendliche Objekte und Geflechte. Fakultät für Mathematik und Informatik der Technischen Universität München, Dissertation. TUM-I8213, September 1982. English excerpt: On the algebraic specification of infinite objects - ordered and continuous models of algebraic types. Institut für Informatik, Technischen Universität München, June 1984
|
| |
23
|
|
| |
24
|
D. Scott: Lectures on a mathematical theory of computation. In: M. Broy, G. Schmidt (eds.): Theoretical foundations of programming methodology. Dordrecht: Reidel 1982, 145-292
|
| |
25
|
A. Tarski: A lattice theoretical fixed point theorem and its applications. Pacific J. Math. 5, 285-309 (1955)
|
 |
26
|
|
| |
27
|
J. Vuillemin: Correct and optimal implementations of recursion in a simple programming language. Journal of Computer and Systems Science 9, 332-354 (1974)
|
 |
28
|
|
| |
29
|
M. Wirsing, P. Pepper, H. Partsch, W. Dosch, M. Broy: On hierarchies of abstract data types. Acta Informatica 20, 1-33 (1983)
|
CITED BY 2
|
|
|
|
|
Joseph Y. Halpern , John H. Williams , Edward L. Wimmers , Timothy C. Winkler, Denotational semantics and rewrite rules for FP, Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, p.108-120, January 14-16, 1985, New Orleans, Louisiana, United States
|
|