Skip to main content

"Ruth: A functional language for real-time programming"

  • Conference paper
  • First Online:
PARLE Parallel Architectures and Languages Europe (PARLE 1987)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 259))

Abstract

This paper introduces the real-time programming language RUTH which is a functional language based on the lazy language LispKit LISP [8]. RUTH is a semantically pure functional language in which the concept of a Process is encapsulated by the more general concept of a function. Communication between Processes is modelled by streams of timestamped values. RUTH programs take as input a tree of integers which is lazily evaluated as the program executes to produce node values representing the current time. Taking real-time information as an input data structure allows RUTH programs to define and react to real-time events without loosing referential transparency and allows us to define a formal semantics without the complication of including timing information.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. "Automatic Control Systems Programming using a Real Time Declarative Language" J.L. Bergarand, P. Caspi, N. Halhwachs and J.A. Plaice From: IFAC/IFIP Symposium on Software for Computer Control {SOCOCO 86} Graz (Austria) May 1986

    Google Scholar 

  2. "Applicative Real-Time Programming" M. Broy Proceedings IFIP 1983. North-Holland Information Processing 83.

    Google Scholar 

  3. "Nondeterminism with referential transparency in Functional Programming Languages." F.W. Burton Department of Electrical Engineering and Computer Science — University of Colorado at Denver.

    Google Scholar 

  4. "The Semantics of Lazy {and Industrious} Evaluation" R. Cartwright and J. Donahue Proceedings 1982 Symposium on Lisp and Functional Programming, Pittsburg USA

    Google Scholar 

  5. "Arctic: A Functional Language for Real-Time Control" R.B. Dannenberg Proceedings 1984 Symposium on Lisp and Functional Programming, Austin, Texas USA.

    Google Scholar 

  6. "Program Transformation" J. Darlington In: Functional Programming and its Applications Eds. J. Darlington, P. Henderson and D.A. Turner Cambridge University Press 1982

    Google Scholar 

  7. "Toward a Real-Time Dataflow Language" A.A. Faustini and E.B. Lewis IEEE Software. January 1986

    Google Scholar 

  8. "The LispKit Manual" P. Henderson, G.A. Jones and S.B. Jones Oxford University Computing Laboratory, Programming Research Group Monograph 32

    Google Scholar 

  9. "PFL: A Functional Language for Parallel Programming" S. Holmstrom Proceedings Declarative Programming Workshop University College London 11–13th April 1983

    Google Scholar 

  10. "OCCAM Programming Manual" Inmos Ltd. Prentice-Hall International Series in Computer Science 1984

    Google Scholar 

  11. "Abstract Machine Support for Purely Functional Operating Systems" S.B. Jones University of Stirling Department of Computing Science, T.R.15

    Google Scholar 

  12. "A Range of Operating Systems Written in A Purely Functional Style" S.B. Jones University of Stirling Department of Computing Science, T.R.16

    Google Scholar 

  13. "On Real-Time Distributed Computing" G. Le Lann Proceedings IFIP 1983. North-Holland Information Processing 83.

    Google Scholar 

  14. "Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory" J. Stoy MIT Press 1977

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

J. W. de Bakker A. J. Nijman P. C. Treleaven

Rights and permissions

Reprints and permissions

Copyright information

© 1987 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Harrison, D. (1987). "Ruth: A functional language for real-time programming". In: de Bakker, J.W., Nijman, A.J., Treleaven, P.C. (eds) PARLE Parallel Architectures and Languages Europe. PARLE 1987. Lecture Notes in Computer Science, vol 259. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-17945-3_17

Download citation

  • DOI: https://doi.org/10.1007/3-540-17945-3_17

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-17945-0

  • Online ISBN: 978-3-540-47181-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics