Skip to main content

Sketching a Constructive Definition of ‘mix’

  • Conference paper
Functional Programming

Part of the book series: Workshops in Computing ((WORKSHOPS COMP.))

  • 106 Accesses

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.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Futamura Y.; Partial evaluation of computation process - An approach to a compiler-compiler,Systems, Computers, Controls, Vol 2, No 5, 1971, pp 4550.

    Google Scholar 

  2. Ershov A.P.; On the partial computation principle,Information processing letters, Vol 6, No 2, 1977, pp 38–41.

    Google Scholar 

  3. Futamura Y.; Partial computation of programs,Proc: RIMS Symposia on software science and engineering, Kyoto 1982, LNCS 147, pp 1–34, Springer-Verlag.

    Google Scholar 

  4. Ershov A.P.; Mixed computation: Potential applications and problems for study,Theoretical computer science, Vol 18, No 1, 1982, pp 41–67.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. Turchin V.F.; Program transformation by supercompilation,Programs as data objects, Proceedings of a workshop, Denmark, 1985, LNCS 217, pp 257–281, Springer-Verlag.

    Google Scholar 

  8. Turchin V.F.; The concept of a supercompiler,ACM-TOPLAS, Vol 8, No 3, 1986, pp 292–325.

    Google Scholar 

  9. Launchbury J.; Domain Decomposition using Dependant Sums and its Application to Partial Evaluation,This proceedings.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. Mac Lane S.; Categories for the working mathematician,1971, Springer-Verlag.

    Google Scholar 

  12. Rydeheard D.E., Burstall R.M.; Computational category theory, Prentice Hall international series in computer science, Ed: C.A.R. Hoare, 1988.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. Gray J.W.; Categorical aspects of data type constructors,Theoretical computer science, Vol 50, No 2, 1987, pp 103–135.

    Google Scholar 

  15. Barr M., Wells C.; Toposes, Triples and Theories, Springer-Verlag, 1985.

    Google Scholar 

  16. Rus T.; T.I. C.S. System: A compiler generator,University of Iowa department of computer science technical report 83–08, 1983.

    Google Scholar 

  17. 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.

    Google Scholar 

  18. Rus T.; An algebraic model of programming languages,Computer languages, Vol 12, No3/4, 1987, pp 173–195.

    Google Scholar 

  19. Higgins P.J.; Categories and groupoids, Van nostrand reinhold mathematical studies 32, Eds: P.R. Halmos, F.W. Gehring, 1971.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics