Skip to main content

The amber machine

  • Conference paper
  • First Online:
Combinators and Functional Programming Languages (LITP 1985)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 242))

Included in the following conference series:

Abstract

The Amber machine is a stack machine designed as an intermediate language for compiling higher-order languages. The current version is specialized for the Amber language. The machine supports a set of basic and structured data types, functional closures, signals, bitmap graphics, persistent objects and meta-level execution. The latter is needed as the Amber compiler is entirely written in Amber (above the Amber machine level) and needs to switch level when executing a program it has just compiled.

A set of implementation strategies are admissible for this machine, including byte-code interpretation, threaded code interpretation and compilation to native code. The current implementation is based on a byte-code interpreter and a one-space compacting collector, and runs on a Macintosh.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Apple Computer: "Inside Macintosh".

    Google Scholar 

  2. L.Cardelli: "The Functional Abstract Machine", AT&T Bell Laboratories Technical Report TR-107, 1983. Also in "Polymorphism, the ML/LCF/Hope Newsletter", vol I, no. 1, 1983.

    Google Scholar 

  3. L.Cardelli: "Amber", AT&T Bell Laboratories Technical Memorandum, 11271-840924-10TM, 1984.

    Google Scholar 

  4. G.Cousineau, P-L.Curien, M.Mauny: "The Categorical Abstract Machine", to appear.

    Google Scholar 

  5. P.J. Landin: "The Mechanical Evaluation of Expressions", Computer Journal, Vol 6, No. 4, 1964, pp. 308–320.

    Google Scholar 

  6. R.Pike, L.Guibas, D.Ingalls: "Bitmap Graphics", SIGGRAPH '84 course notes.

    Google Scholar 

  7. D.A. Turner: "A new implementation technique for applicative languages", Software Practice and Experience, vol 9, 31–49, 1979.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Guy Cousineau Pierre-Louis Curien Bernard Robinet

Rights and permissions

Reprints and permissions

Copyright information

© 1986 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Cardelli, L. (1986). The amber machine. In: Cousineau, G., Curien, PL., Robinet, B. (eds) Combinators and Functional Programming Languages. LITP 1985. Lecture Notes in Computer Science, vol 242. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-17184-3_39

Download citation

  • DOI: https://doi.org/10.1007/3-540-17184-3_39

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-17184-3

  • Online ISBN: 978-3-540-47253-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics