Skip to main content

Type Structure for Low-Level Programming Languages

  • Conference paper
  • First Online:
Book cover Automata, Languages and Programming

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

Abstract

Providing type structure for extremely low-level programming languages, such as assembly language, yields a number of important benefits for compiler and systems projects, where reliability and security are crucial concerns. We discuss some of the issues involved in designing type systems for low-level languages, and identify some general principles that simplify constructing a proof of soundness.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. Kim B. Bruce, Luca Cardelli, and Benjamin C. Pierce. Comparing object encodings. In Theoretical Aspects of Computer Software, Sendai, Japan, September 1997.

    Google Scholar 

  2. Karl Crary, Stephanie Weirich, and Greg Morrisett. Intensional polymorphism in type-erasure semantics. In 1998 ACM International Conference on Functional Programming, pages 301–312, Baltimore, September 1998. Extended version published as Cornell University technical report TR98-1721.

    Google Scholar 

  3. M.J. Fischer. Lambda calculus schemata. In ACM Conference on Proving Assertions About Programs, SIGPLAN Notices 7(1), pages 104–109, 1972.

    Article  Google Scholar 

  4. Jean-Yves Girard. Linear logic. Theoretical Computer Science, 50:1–102, 1987.

    Article  MathSciNet  Google Scholar 

  5. Robert Harper and Mark Lillibridge. Explicit polymorphism and CPS conversion. In Twentieth ACM Symposium on Principles of Programming Languages, pages 206–219, January 1993.

    Google Scholar 

  6. Robert Harper and Greg Morrisett. Compiling polymorphism using intensionaltype analysis. In Twenty-Second ACM Symposium on Principles of Programming Languages, pages 130–141, San Francisco, January 1995.

    Google Scholar 

  7. Robin Milner, Mads Tofte, Robert Harper, and David MacQueen. The Definition of Standard ML (Revised). The MIT Press, Cambridge, Massachusetts, 1997.

    Book  Google Scholar 

  8. Yasuhiko Minamide, Greg Morrisett, and Robert Harper. Typed closure conversion. In Twenty-Third ACM Symposium on Principles of Programming Languages, pages 271–283, St. Petersburg, Florida, January 1996.

    Google Scholar 

  9. John C. Mitchell and Gordon D. Plotkin. Abstract types have existential type. ACM Transactions on Programming Languages and Systems, 10(3):470–502, July 1988.

    Article  Google Scholar 

  10. Greg Morrisett, Karl Crary, Neal Glew, Dan Grossman, Richard Samuels, Frederick Smith, David Walker, Stephanie Weirich, and Steve Zdancewic. TALx86: A realistic typed assembly language. In Second Workshop on Compiler Support for System Software, Atlanta, May 1999. To appear.

    Google Scholar 

  11. Greg Morrisett, Karl Crary, Neal Glew, and David Walker. Stack-based typed assembly language. In Second Workshop on Types in Compilation, volume 1473 of Lecture Notes in Computer Science. Springer-Verlag, March 1998. Extended version published as CMU technical report CMU-CS-98-178.

    Google Scholar 

  12. Greg Morrisett, Matthias Felleisen, and Robert Harper. Abstract models of memory management. In Conference on Functional Programming Languages and Computer Architecture, pages 66–77, La Jolla, California, June 1995.

    Google Scholar 

  13. Greg Morrisett and Robert Harper. Semantics of memory management for polymorphic languages. In A.D. Gordon and A.M. Pitts, editors, Higher Order Operational Techniques in Semantics. Cambridge University Press, 1997.

    Google Scholar 

  14. Greg Morrisett, David Walker, Karl Crary, and Neal Glew. From System F to typed assembly language. ACM Transactions on Programming Languages and Systems, 1999. To appear. An earlier version appeared in 1998 Symposium on Principles of Programming Languages.

    Google Scholar 

  15. John C. Reynolds. Definitional interpreters for higher-order programming languages. In Conference Record of the 25th National ACM Conference, pages 717–740, Boston, August 1972.

    Google Scholar 

  16. John C. Reynolds. Syntactic control of interference. In Fifth ACM Symposium on Principles of Programming Languages, pages 39–46, Tucson, Arizona, 1978.

    Google Scholar 

  17. Philip Wadler. Linear types can change the world! In IFIP Working Conference on Programming Concepts and Methods, Sea of Galilee, Israel, April 1990. North-Holland.

    Google Scholar 

  18. Philip Wadler. A taste of linear logic. In Mathematical Foundations of Computer Science, volume 711 of Lecture Notes in Computer Science. Springer-Verlag, 1993.

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Crary, K., Morrisett, G. (1999). Type Structure for Low-Level Programming Languages. In: Wiedermann, J., van Emde Boas, P., Nielsen, M. (eds) Automata, Languages and Programming. Lecture Notes in Computer Science, vol 1644. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48523-6_4

Download citation

  • DOI: https://doi.org/10.1007/3-540-48523-6_4

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66224-2

  • Online ISBN: 978-3-540-48523-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics