Skip to main content

The VLISP Verified Scheme System

  • Chapter
VLISP A Verfied Implementation of Scheme

Abstract

The VLISP project has produced a rigorously verified compiler from Scheme to byte codes, and a verified interpreter for the resulting byte codes. The official denotational semantics for Scheme provides the main criterion of correctness. The Wand-Clinger technique was used to prove correctness of the primary compiler step. Then a state machine operational semantics is proved to be faithful to the denotational semantics. The remainder of the implementation is verified by a succession of state machine refinement proofs. These include proofs that garbage collection is a sound implementation strategy, and that a particular garbage collection algorithm is correct.

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 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover 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. William Clinger. The Scheme 311 compiler: An exercise in denotational semantics. In 1984 ACM Symposium on Lisp and Functional Programming, pages 356–364, New York, August 1984. The Association for Computing Machinery, Inc.

    Google Scholar 

  2. William M. Farmer. A partial functions version of Church’s simple theory of types. Journal of Symbolic Logic, 55(30269–91,1990. Also MITRE Corporation technical report M88–52, 1988; revised 1990.

    Google Scholar 

  3. William M. Farmer, Joshua D. Guttman, Leonard G. Monk, John D. Ramsdell, and Vipin Swamp. The faithfulness of the VLISP operational semantics. M 92B093, The MITRE Corporation, September 1992.

    Google Scholar 

  4. William M. Farmer, Joshua D. Guttman, and F. Javier Thayer. IMPS: an Interactive Mathematical Proof System. Journal of Automated Reasoning, 11 (2):213–248, October 1993.

    Article  MATH  Google Scholar 

  5. Joshua D. Guttman, Leonard G. Monk, William M. Farmer, John D. Ramsdell, and Vipin Swarup. The VLISP byte-code compiler. M 92B092, The MITRE Corporation, September 1992.

    Google Scholar 

  6. Joshua D. Guttman, Leonard G. Monk, William M. Farmer, John D. Ramsdell, and Vipin Swarup. The VLISP flattener. M 92B094, The MITRE Corporation, 1992.

    Google Scholar 

  7. Joshua D. Guttman, John D Ramsdell, and Mitchell Wand. VLISP: A verified implementation of Scheme. Lisp and Symbolic Computation, 8 (1/2):5–32,1995.

    Article  Google Scholar 

  8. C. A. R. Hoare. Notes on data structuring. In 0.-J. Dahl, editor, Structured Programming. Academic Press, 1972.

    Google Scholar 

  9. IEEE Std 1178–1990. IEEE Standard for the Scheme Programming Language. Institute of Electrical and Electronic Engineers, Inc., New York, NY, 1991.

    Google Scholar 

  10. Richard A. Kelsey and Jonathan A. Rees. Scheme48 progress report. Manuscript in preparation, 1992.

    Google Scholar 

  11. Richard A. Kelsey and Jonathan A. Rees. A tractable Scheme implementation. Lisp and Symbolic Computation, 7 (4) 315–335,1994.

    Article  Google Scholar 

  12. Robin MilnerCommunication and Concurrency. Prentice-Hall International, Englewood Cliffs, 1989.

    Google Scholar 

  13. Dino P. Oliva, John D Ramsdell, and Mitchell Wand. The VLISP verified PreScheme compiler. Lisp and Symbolic Computation, 8 (1/2) 111–182,1995.

    Article  Google Scholar 

  14. John D. Ramsdell. The revised VLISP PreScheme front end. M 93B095, The MITRE Corporation, August 1993.

    Google Scholar 

  15. Jonathan A. Rees, Norman I. Adams, and James R. Meehan. The T Manual. Computer Science Department, Yale University, fifth edition edition, 1988.

    Google Scholar 

  16. Joseph E. Stoy. Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. MIT Press, Cambridge, MA, 1977.

    Google Scholar 

  17. Vipin Swarup, William M. Farmer, Joshua D. Guttman, Leonard G. Monk, and John D. Ramsdell. The VLISP byte-code interpreter. M 92B097, The MITRE Corporation, September 1992.

    Google Scholar 

  18. Mitchell Wand. Semantics-directed machine architecture. In Conf. Rec. 9th ACM Symp. on Principles of Prog. Lang., pages 234–241, 1982.

    Google Scholar 

  19. Mitchell Wand and Dino P. Oliva. Proving the correctness of storage representations. In Proceedings of the 1992 ACM Conference on Lisp and Functional Programming, pages 151–160, New York, 1992. ACM Press.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer Science+Business Media New York

About this chapter

Cite this chapter

Guttman, J.D., Ramsdell, J.D., Swarup, V. (1995). The VLISP Verified Scheme System. In: Guttman, J.D., Wand, M. (eds) VLISP A Verfied Implementation of Scheme. Springer, Boston, MA. https://doi.org/10.1007/978-1-4615-2339-0_2

Download citation

  • DOI: https://doi.org/10.1007/978-1-4615-2339-0_2

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-1-4613-5991-3

  • Online ISBN: 978-1-4615-2339-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics