Abstract
We study the semantics of functional languages on streams such as Turner's SASL or KRC. The basis of these languages is recursive equations for (functions on) finite or infinite sequences. The paper presents a start towards a mathematical (denotational) description of such languages using tools from metric topology. The description is based on the Banach fixed point theorem and a restricted version of a typed lambda calculus. To a system of recursive stream (function) declarations a system of functions is associated in an appropriate topological domain. These functions have to be contracting in certain arguments and non distance increasing in others; a syntax is designed which ensures the right interplay between these conditions. Nondeterminism is handled by considering compact sets of streams, and preservation of compactness is another important technical issue. Not all concepts in a language such as KRC are covered, and some indications on possible extensions of the framework are provided.
Supported in part by ESPRIT project 415: Parallel Architectures and Languages
Supported by the Netherlands Organisation for the Advancement of Pure Research (Z.W.O.), grant 125-20-04.
Preview
Unable to display preview. Download preview PDF.
7. References
ARNOLD, A., NIVAT, M., The metric space of infinite trees, algebraic and topological properties, Fund. Inform. III, 4, pp 445–476, 1980.
DE BAKKER, J.W., Mathematical theory of program correctness, Prentice Hall International, 1980.
DE BAKKER, J.W., KLOP, J.W., MEYER, J.-J.CH., Correctness of programs with function procedures in Logic of Programs, LNCS 131, proceedings 1981, Kozen, D., Springer, 1982.
DE BAKKER, J.W., ZUCKER, J.I., Compactness in semantics for merge and fair merge in Logic of Programs, LNCS 164, proceedings 1983, Kozen, D., Clarke, E., Springer, 1983.
de BAKKER, J.W., ZUCKER, J.I., Processes and the denotational semantics of concurrency, Information and Control, 54, pp 70–120, 1982.
BROY, M., Fixed point theory for communication and concurrency, in Bjorner, Ed., IFIP TC 2 Working conference on Formal description of Programming Concepts II, Garmisch, June 1982, pp 125–147, North Holland, Amsterdam, 1983.
BROY, M., BAUER, L., A systematic approach to language constructs for concurrent programs, in Science of Computer Programming 4, pp 103–139, North Holland, 1984.
BURGE, W.H., Stream processing functions, in IBM journal of research and development, 19, pp 12–25, 1975.
DARLINGTON J., HENDERSON, P., TURNER, D.A. (eds), Functional programming and its applications, Cambridge University Press, Cambridge, 1982.
DENNIS, J.B., WENG, K.K.-S., An abstract implementation for concurrent computation with streams, in Proc. 1979 int. conf. on parallel processing, pp 35–45, 1979.
DUGUNDJI, J., Topology, Allyn and Bacon, Inc., Boston, 1966.
IDA, T., TANAKA, J., Functional programming with streams, in Information Processing, pp 265–270, North-Holland, 1983.
MEERTENS, L.G.L.T., Procedurele datastructuren (in Dutch), in Colloquium Capita Datastructuren (J.C. VAN VLIET (Red)), pp 171–186, MC syllabus 37, Amsterdam, 1978.
MICHAEL, E., Topologies on spaces of subsets, in Trans. AMS 71, pp 152–182, 1951.
NAKATA, I, Programming with streams, in IBM-research report, RJ 3751 (43317), 1983.
NIVAT, M., Infinite words, infinite trees, infinite computations, in Foundations of computer science III.2 (de Bakker, J.W., van Leeuwen, J. (eds)), 3–52, Mathematical centre tracts 109, 1979.
ROUNDS, W.C., GOLSON, W.G., Connections between two theories of concurrency: Metric spaces and synchronization trees, Information and control 57, pp 102–124, 1983.
SMYTH, M.B., Powerdomains and predicate transformers: a topological view, Proc. 10th ICALP, Barcelona, Spain, Diaz, J. (ed), LNCS 154, pp 662–676, 1983.
TISON, S., DAUCHET, M., COMYN, G., Metrical and ordered properties of powerdomains, Proc. FCT conference, Borgholm, Sweden, Karpinski, M. (ed), LNCS 158, pp 465–474, 1983.
TURNER, D.A., Recursion equations as a programming language, in Darlington, J., Henderson, P., Turner, D.A. (eds), Functional programming and its applications, Cambridge University Press, Cambridge, pp 1–28, 1982.
TURNER, D.A., A new implementation technique for applicative languages, in Software-Practice and experience, 9, pp 31–49, 1979.
WADGE, W.W., An extensional treatment of dataflow deadlock, in Theoretical Computer Science 13 (1981), pp 3–15, 1981.
WADLER, P., Applicative style programming, program transformation and list operators, in Proc. functional programming languages and computer architecture, pp 25–32, 1981.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1985 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
de Bakker, J.W., Kok, J.N. (1985). Towards a uniform topological treatment of streams and functions on streams. In: Brauer, W. (eds) Automata, Languages and Programming. ICALP 1985. Lecture Notes in Computer Science, vol 194. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0015739
Download citation
DOI: https://doi.org/10.1007/BFb0015739
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-15650-5
Online ISBN: 978-3-540-39557-7
eBook Packages: Springer Book Archive