ACM Home Page
Please provide us with feedback. Feedback
A generic type-and-effect system
Full text PdfPdf (468 KB)
Source
Types In Languages Design And Implementation archive
Proceedings of the 4th international workshop on Types in language design and implementation table of contents
Savannah, GA, USA
SESSION: Session 2 table of contents
Pages 39-50  
Year of Publication: 2009
ISBN:978-1-60558-420-1
Authors
Daniel Marino  University of California, Los Angeles, Los Angeles, CA, USA
Todd Millstein  University of California, Los Angeles, Los Angeles, CA, USA
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 69,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1481861.1481868
What is a DOI?

ABSTRACT

Type-and-effect systems are a natural approach for statically reasoning about a program's execution. They have been used to track a variety of computational effects, for example memory manipulation, exceptions, and locking. However, each type-and-effect system is typically implemented as its own monolithic type system that hard-codes a particular syntax of effects along with particular rules to track and control those effects.

We present a generic type-and-effect system, which is parameterized by the syntax of effects to track and by two functions that together specify the effect discipline to be statically enforced. We describe how a standard form of type soundness is ensured by requiring these two functions to obey a few natural monotonicity requirements. We demonstrate that several effect systems from the literature can be viewed as instantiations of our generic type system. Finally, we describe the implementation of our type-and-effect system and mechanically checked type soundness proof in the Twelf proof assistant.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
2
3
 
4
Nick Benton, Andrew Kennedy, Martin Hofmann, and Lennart Beringer. Reading, writing and relations: Towards extensional semantics for effect analyses. In Programming Languages and Systems, 4th Asian Symposium (APLAS 2006), pages 114--130. Springer, 2006.
5
 
6
Brian Chin, Shane Markstrum, Todd Millstein, and Jens Palsberg. Inference of user-defined type qualifiers and qualifier rules. In European Symposium on Programming, 2006.
7
 
8
Linda DeMichiel. Enterprise JavaBeans Specification, Version 3.0. SUN Microsystems, 2004.
9
10
11
12
13
14
15
 
16
David K. Gifford, Pierre Jouvelot, Mark A. Sheldon, and James W. O'Toole. Report on the FX-91 programming language. Technical Report MIT/LCS/TR-531, MIT Laboratory for Computer Science, 1992.
 
17
18
 
19
20
 
21
 
22
23
 
24
Aleksandar Nanevski. A modal calculus for exception handling. In Intuitionistic Modal Logics and Applications Workshop, 2005.
25
 
26
 
27
 
28
 
29
 
30
Rob Simmons. Twelf as a unified framework for language formalization and implementation, 2005. URL http://www.cs.princeton.edu/~rsimmons/thesis.pdf. Undergraduate honors thesis, Princeton University.
 
31
Jean-Pierre Talpin and Pierre Jouvelot. Polymorphic type, region and effect inference. Journal of Functional Programming, 2(3): 245--271, 1992.
32
33
34
 
35

Collaborative Colleagues:
Daniel Marino: colleagues
Todd Millstein: colleagues