Publication:
Principals in Programming Languages: A Syntactic Proof Technique

Thumbnail Image

Date

1999

Published Version

Journal Title

Journal ISSN

Volume Title

Publisher

Association for Computing Machinery
The Harvard community has made this article openly available. Please share how this access benefits you.

Research Projects

Organizational Units

Journal Issue

Citation

Zdancewic, Steve, Dan Grossman, and Greg Morrisett. Principals in programming languages: A syntactic proof technique. In ICFP '99: Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '99), Paris, France, September 27-29, 1999, ed. ICFP 1999, 197-207. ACM SIGPLAN Notices 34, no. 9. New York, N.Y.: Association for Computing Machinery.

Research Data

Abstract

Programs are often structured around the idea that different pieces of code comprise distinct principals, each with a view of its environment. Typical examples include the modules of a large program, a host and its clients, or a collection of interactive agents.In this paper, we formalize this notion of principal in the programming language itself. The result is a language in which intuitive statements such as, "the client must call open to obtain a file handle," can be phrased and proven formally.We add principals to variants of the simply-typed λ-calculus and show how we can track the code corresponding to each principal throughout evaluation. This multiagent calculus yields syntactic proofs of some type abstraction properties that traditionally require semantic arguments.

Description

Other Available Sources

Keywords

Terms of Use

This article is made available under the terms and conditions applicable to Other Posted Material (LAA), as set forth at Terms of Service

Endorsement

Review

Supplemented By

Referenced By

Related Stories