Secd-m: a virtual machine for applicative programming
We present a virtual machine to support applicative multiprogramming — in description of concurrent, asynchronous systems such as operating systems in a functional style. The machine extends Landin's secd machine to support multiple concurrent expression evaluation, non-determinism in the form of the fair merge, and a full range of input and output devices. This allows systems programs to be written in a functional style. The secd-m machine has been implemented and a number of functional concurrent programs demonstrated.
Unable to display preview. Download preview PDF.
- Abramsky, S. On Semantic Foundations for Applicative Multiprogramming, in Automata, Languages and Programming: 10th International Colloquium, ed. J. Diaz, Springer LNCS Vol 154, 1983.Google Scholar
- Abramsky, S. Experiments, Powerdomains and Fully Abstract Models for Applicative Multiprogramming, in Foundations of Computation Theory, ed. M. Karpinski, Springer LNCS Vol 158, 1983.Google Scholar
- Abramsky, S. Reasoning about Concurrent Systems: a Functional Approach, in Distributed Computing, ed F.Chambers and D.Duce, Academic Press, 1984.Google Scholar
- Friedman, D and Wise, D. CONS Should not Evaluate its Arguments. in Automata, Languages and Programming. ed. S. Michaelson & R. Milner. Edinburgh University Press. 1976.Google Scholar
- Henderson, P. and Morris, J. H. A Lazy Evaluator. Proc. Third Acm Conference on Principles of Programming Languages, 1976.Google Scholar
- Henderson, P. Functional Programming, Application and Implementation. Academic Press, 1980Google Scholar
- Hennessey, M. The Semantics of Call-by-Name and Call-by-Value in a Non-deterministic Environment. SIAM J. Computing, 1980.Google Scholar
- Landin, P. J. The Mechanical Evaluation of Expressions. Computer Journal, 1964.Google Scholar
- McCarthy, J. A Basis for a Mathematical Theory of Computation. In Studies in Logic: Computer Programming and Formal Systems. ed. Braffort & Hirschberg. North Holland 1963.Google Scholar