Abstract
We present the Common Graphical Form, a low level, abstract machine independent structure which provides a basis for implementing graph reduction on distributed processors. A key feature of the structure is its ability to model disparate abstract machines in a uniform manner; this enables us to experiment with different abstract machines without having to recode major parts of the run-time system for each additional machine. Because we are dealing with a uniform data structure it is possible to build a suite of performance measurement tools to examine interprocessor data-flow and to apply these tools to different abstract machines in order to make relative comparisons between them at run-time. As a bonus to our design brief we exploit the unifying characteristics of the Common Graphical Form by using it as an intermediate language at compile-time.
Supported by a SERC research studentship
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
T. Johnsson. Efficient compilation of lazy evaluation. In Conf. on Compiler Construction, pages 58–69. ACM, June 1984.
L. Augustsson and T. Johnsson. Parallel graph reduction with the (y, G)-machine. In FPCA Conf., pages 202–213. ACM, 1989.
G. Burn. Implementing lazy functional langauges on parallel architectures. In P. Trealeven, editor, Parallel Computers (Object-Oriented, Functional, Logic), Series in Parallel Computing, chapter 7, pages 101–139. Wiley, 1990.
E. Meijer. Cleaning up the design space of function evaluating machines. Tech. report, Univ. of Nejmegen, Dept. of Informatics, Mar. 1989.
E. Meijer. A taxonomy of lazy function evaluating machines. Technical report, Univ. of Nejmegen, Dept. of Informatics, June 1989.
I. Robertson. Hope+ on Flagship. In K. Davis and J. Hughes, editors, Functional Programming, Glasgow 1989, pages 296–307. Springer Verlag: Workshops in Computing, Aug. 1989.
B. Goldberg and P. Hudak. Alfalfa: distributed graph reduction on a hypercube multiprocessor, volume 279 of LNCS, pages 94–113. Springer Verlag, Nov. 1986.
G. Burn, S. Peyton Jones, and J. Robson. The Spineless G-Machine. In Lisp and Functional Programming Conf., pages 244–258. Snowbird, July 1988.
S. Peyton Jones and J. Salkild. The Spineless Tagless G-Machine. In FPCA Conf, pages 184–201, 1989.
J. Fairbairn and S. Wray. Tim: A simple, lazy abstract machine to execute supercombinators. In FPCA Conf. ACM, Springer Verlag, Sept. 1987. LNCS 274.
L. George. An abstract machine for parallel graph reduction. In FPCA Conf., pages 214–228, 1989.
P. Watson and I. Watson. Evaluating functional programs on the Flagship machine. In FPCA Conf.,pages 80–97. ACM, Springer Verlag, Sept. 1987. LNCS 274.
I. Watson, V. Woods, P. Watson, R. Banach, M. Greenberg, and J. Sargeant. Flagship: A parallel architecture for declarative programming. T.R. FS/MU/IW/017–88, Manchester Univ., Dept. of Comp. Sci., Mar. 1988.
C. Clack and S. Peyton Jones. The four-stroke reduction engine. InLisp and Functional Programming Conf.,pages 220–232. ACM, Aug. 1986.
S. Peyton Jones. The tag is dead—long live the packet. posting on fp electronic mailing list, Oct. 1987.
P. Hudak and B. Goldberg. Experiments in diffused combinator reduction. In Symposium on Lisp and Functional Programming, pages 167–176. ACM, Aug. 1984.
N. de Bruijn. Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the church-rosser theorem. Indagationes Mathematicae, 34: 381–392, 1972.
G. Cousineau, P. Curien, and M. Mauny. The categorical abstract machine. InFPCA Conf. pages 50–64. ACM, Springer Verlag, Sept. 1985. LNCS 201.
M. Joy and T. Axford. A standard for a graph representation for functional programs. In Sigplan Notices 23(1),pages 75–82. ACM, 1988. Univ. of Birmingham I.R. CSR-87–1.
J. Hughes. A distributed garbage collection algorithm. In FPCA Conf. pages 256–272. ACM, Springer Verlag, Sept. 1985. LNCS 201.
S. Peyton Jones and M. Joy. FLIC - a Functional Language Intermediate Code. I.N. 2048, University College London, Dept. of Comp. Sci., Aug. 1989.
L. Augustsson and T. Johnsson. The Chalmers Lazy ML compiler. The Computer Journal, 32 (2): 127–141, 1989.
J. Gluert, J. Kennaway, and M. Sleep. DACTL: A computational model and compiler target language based on graph reduction. ICL Technical Journal, 5 (3), 1987.
B. Goldberg. Multiprocessor Ezecution of Functional Programs. PhD thesis, Graduate School of Yale Univ., Apr. 1988. Research Report: YALEU/DCS/RR-618.
S. Peyton Jones. The Implementation of Functional Programming Languages. Prentice Hall, 1987.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1992 Springer-Verlag London
About this paper
Cite this paper
Parrott, D., Clack, C. (1992). A Common Graphical Form. In: Darlington, J., Dietrich, R. (eds) Declarative Programming, Sasbachwalden 1991. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3794-8_15
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3794-8_15
Publisher Name: Springer, London
Print ISBN: 978-3-540-19735-5
Online ISBN: 978-1-4471-3794-8
eBook Packages: Springer Book Archive