Abstract
We describe a basis for extending Backus's FP languages to apply to infinite data objects, including streams, using data objects called prefixes, which can be viewed as approximations of either finite or infinite sequences. The resulting set of data objects, together with its limit points, admits not only an infinite number of entries in a sequence, but also infinitely nested expressions. Elements in this domain include arbitrarily good finite approximations to any of the infinite objects of the domain.
We also describe a mechanism for extending the primitive functions of an FP language over its domain to a corresponding stream FP language (or SFP language) capable of handling both finite and infinite elements over the extended domain. Extensions of the common functional forms are described. The algebra of FP programs is preserved nearly unchanged. Example programs are given.
This work was supported in part by ARO grant number DAAG29-83-K-0090 and NSF grant number MCS- 8313312
Preview
Unable to display preview. Download preview PDF.
Bibliography
Backus, J. Can programming be liberated from the von Neumann style? A functional style and its algebra of programs. Communications of the ACM, 21, No. 8, Aug 1978, pp. 613–641.
Broy, M. A fixed point approach to applicative multiprogramming, in Theoretical Foundations of Programming Methodology. D. Reidel, 1982. pp. 565–622. Ed. by M. Broy & G. Schmidt.
Burge, W.H. Recursive programming techniques. Reading, Mass: Addison-Wesley, 1975.
Dosch, W. & Moller, B. Busy and lazy FP with infinite objects. In Conference Record of the 1984 ACM Symposium on LISP and Functional Programming, 1984. pp. 282–292.
Feldman, G. Functional Specifications of a Text Editor. In Conference Record of the 1982 ACM Symposium on LISP and Functional Programming, 1982. pp. 37–46.
Halpern, J., J. Williams, E. Wimmers & T. Winkler. In Conference Record of the Twelfth Annual ACM Symposium on Principles of Programming Languages, 1985. pp. 108–120.
Henderson, P. Purely Functional Operating Systems in Functional Programming and its Applications. Cambridge University Press, 1982. pp. 177–192.
Ida, T. & Tanaka, J. Functional programming with streams, in Information Processing. North-Holland, 1983. pp. 265–270.
Jacobson, N. Basic Algebra I. San Francisco: W.H.Freeman & Co., 1974.
Kahn, G. The semantics of a simple language for parallel programming. In Proceedings, IFIP Congress 74, 1974 pp. 471–475.
Kahn, G. & Macqueen, D.B. Coroutines and networks of parallel processes. In Proceedings, IFIP Congress 77, North-Holland, Jan 1977.
Keller, R.M. Semantics of parallel program graphs. Technical Report UUCS-77-110, University of Utah, July 22, 1977.
Keller, R.M. Denotational models for parallel programs with indeterminate operators, in Formal Description of Programming Concepts. North-Holland, 1978. pp. 337–366.
Nakata, I. & Sassa, M. Programming with streams. Technical Report RJ3751(43317). IBM. Jan 1983.
Scott, D.S. Lectures on a mathematical theory of computation, in Theoretical Foundations of Programming Methodology. D. Reidel, 1982. pp. 146–292. Ed. by M. Broy & G. Schmidt.
Stoy, J.E. Some Mathematical Aspects of Functional Programming, in Functional Programming and its Applications. Cambridge University Press, 1982. pp. 217–252.
Tanaka, J. & Ida, T. Stream extension for fp-like language. 1981. (Unpublished paper.)
Thomas, T.A. An fp domain with infinite objects. Technical Report TR 83-009. University of North Carolina at Chapel Hill. 1983.
Turner, D.A. Recursion Equations as a Programming Language, in Functional Programming and its Applications. Cambridge University Press, 1982. pp. 1–28.
Wadler, P. Applicative style of programming, program transformation and list operators. In ACM-MIT Proceedings of the 1981 Conference on Functional Programming Languages and Computer Architecture., Oct 1981. pp. 25–32.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1986 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Thomas, T.A., Stanat, D.F. (1986). An FP domain with infinite objects. In: Melton, A. (eds) Mathematical Foundations of Programming Semantics. MFPS 1985. Lecture Notes in Computer Science, vol 239. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-16816-8_40
Download citation
DOI: https://doi.org/10.1007/3-540-16816-8_40
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-16816-4
Online ISBN: 978-3-540-44861-7
eBook Packages: Springer Book Archive