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

  • Dave Harrison
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 259)


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.


Formal Semantic Input Channel Semantic Function Functional Language Smoke Detector 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [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 1986Google Scholar
  2. [2]
    "Applicative Real-Time Programming" M. Broy Proceedings IFIP 1983. North-Holland Information Processing 83.Google Scholar
  3. [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. [4]
    "The Semantics of Lazy {and Industrious} Evaluation" R. Cartwright and J. Donahue Proceedings 1982 Symposium on Lisp and Functional Programming, Pittsburg USAGoogle Scholar
  5. [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. [6]
    "Program Transformation" J. Darlington In: Functional Programming and its Applications Eds. J. Darlington, P. Henderson and D.A. Turner Cambridge University Press 1982Google Scholar
  7. [7]
    "Toward a Real-Time Dataflow Language" A.A. Faustini and E.B. Lewis IEEE Software. January 1986Google Scholar
  8. [8]
    "The LispKit Manual" P. Henderson, G.A. Jones and S.B. Jones Oxford University Computing Laboratory, Programming Research Group Monograph 32Google Scholar
  9. [9]
    "PFL: A Functional Language for Parallel Programming" S. Holmstrom Proceedings Declarative Programming Workshop University College London 11–13th April 1983Google Scholar
  10. [10]
    "OCCAM Programming Manual" Inmos Ltd. Prentice-Hall International Series in Computer Science 1984Google Scholar
  11. [11]
    "Abstract Machine Support for Purely Functional Operating Systems" S.B. Jones University of Stirling Department of Computing Science, T.R.15Google Scholar
  12. [12]
    "A Range of Operating Systems Written in A Purely Functional Style" S.B. Jones University of Stirling Department of Computing Science, T.R.16Google Scholar
  13. [13]
    "On Real-Time Distributed Computing" G. Le Lann Proceedings IFIP 1983. North-Holland Information Processing 83.Google Scholar
  14. [14]
    "Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory" J. Stoy MIT Press 1977Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1987

Authors and Affiliations

  • Dave Harrison
    • 1
  1. 1.Department of Computing ScienceUniversity of StirlingStirlingScotland, United Kingdom

Personalised recommendations