Abstract
Since the early seventies partial evaluation has been recognised as a powerful tool for constructing compilers. The ability to produce a partial evaluator for language L in language L is the ability to generate compilers and compiler generators. This paper uses the theory of sketches to produce a formal framework to describe the function specialisation phase of a partial evaluator for L in terms of the specification of L.
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
Futamura Y.; Partial evaluation of computation process - An approach to a compiler-compiler,Systems, Computers, Controls, Vol 2, No 5, 1971, pp 4550.
Ershov A.P.; On the partial computation principle,Information processing letters, Vol 6, No 2, 1977, pp 38–41.
Futamura Y.; Partial computation of programs,Proc: RIMS Symposia on software science and engineering, Kyoto 1982, LNCS 147, pp 1–34, Springer-Verlag.
Ershov A.P.; Mixed computation: Potential applications and problems for study,Theoretical computer science, Vol 18, No 1, 1982, pp 41–67.
Jones N.D., Sestoft P., SOndergaard H.; An experiment in partial evaluation: The generation of a compiler generator,In: Rewriting techniques and applications, J.P. Jouannaud (Ed), 1985, LNCS 202, pp 124–140, Springer-Verlag.
Jones N.D., Sestoft P., SOndergaard H.; Mix: A self-applicable partial evaluator for experiments in compiler generation, List and Symbolic Computation, Vol 2, No 1, 1989.
Turchin V.F.; Program transformation by supercompilation,Programs as data objects, Proceedings of a workshop, Denmark, 1985, LNCS 217, pp 257–281, Springer-Verlag.
Turchin V.F.; The concept of a supercompiler,ACM-TOPLAS, Vol 8, No 3, 1986, pp 292–325.
Launchbury J.; Domain Decomposition using Dependant Sums and its Application to Partial Evaluation,This proceedings.
Goldblatt R.; Topoi, The categorical analysis of logic, Revised edition, Studies in logic and the foundations of mathematics, Vol 98, Eds: J. Barwise, D. Kaplan, H.J. Keisler, P. Suppes, A.S. Troelstra, 1984, North-Holland.
Mac Lane S.; Categories for the working mathematician,1971, Springer-Verlag.
Rydeheard D.E., Burstall R.M.; Computational category theory, Prentice Hall international series in computer science, Ed: C.A.R. Hoare, 1988.
Wells C., Barr M.; The formal description of data types using sketches,Mathematical foundations of programming language semantics, Proc: 3rd workshop, Tulane University, New Orleans, Louisiana, 1987, LNCS 298, pp 386–413, Springer-Verlag.
Gray J.W.; Categorical aspects of data type constructors,Theoretical computer science, Vol 50, No 2, 1987, pp 103–135.
Barr M., Wells C.; Toposes, Triples and Theories, Springer-Verlag, 1985.
Rus T.; T.I. C.S. System: A compiler generator,University of Iowa department of computer science technical report 83–08, 1983.
Rus T.; An alternative to C.F. grammar for language specification, Proceedings of IEEE conference on computer languages, Oct 27–30, 1986, Miami beach, Florida.
Rus T.; An algebraic model of programming languages,Computer languages, Vol 12, No3/4, 1987, pp 173–195.
Higgins P.J.; Categories and groupoids, Van nostrand reinhold mathematical studies 32, Eds: P.R. Halmos, F.W. Gehring, 1971.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1990 British Computer Society
About this paper
Cite this paper
Reeves, A.C., Rattray, C. (1990). Sketching a Constructive Definition of ‘mix’. In: Davis, K., Hughes, J. (eds) Functional Programming. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3166-3_8
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3166-3_8
Publisher Name: Springer, London
Print ISBN: 978-3-540-19609-9
Online ISBN: 978-1-4471-3166-3
eBook Packages: Springer Book Archive