ACM Home Page
Please provide us with feedback. Feedback
Region-based memory management in cyclone
Full text PdfPdf (249 KB)
Source Conference on Programming Language Design and Implementation archive
Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation table of contents
Berlin, Germany
SESSION: Language Design & Implementation Issues table of contents
Pages: 282 - 293  
Year of Publication: 2002
ISBN:1-58113-463-0
Also published in ...
Authors
Dan Grossman  Cornell University, Ithaca, NY
Greg Morrisett  Cornell University, Ithaca, NY
Trevor Jim  AT&T Labs Research, Florham Park, NJ
Michael Hicks  Cornell University, Ithaca, NY
Yanling Wang  Cornell University, Ithaca, NY
James Cheney  Cornell University, Ithaca, NY
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 13,   Downloads (12 Months): 80,   Citation Count: 73
Additional Information:

abstract   references   cited by   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/512529.512563
What is a DOI?

ABSTRACT

Cyclone is a type-safe programming language derived from C. The primary design goal of Cyclone is to let programmers control data representation and memory management without sacrificing type-safety. In this paper, we focus on the region-based memory management of Cyclone and its static typing discipline. The design incorporates several advancements, including support for region subtyping and a coherent integration with stack allocation and a garbage collector. To support separate compilation, Cyclone requires programmers to write some explicit region annotations, but a combination of default annotations, local type inference, and a novel treatment of region effects reduces this burden. As a result, we integrate C idioms in a region-based framework. In our experience, porting legacy C to Cyclone has required altering about 8% of the code; of the changes, only 6% (of the 8%) were region annotations.


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
 
5
 
6
Cyclone user's manual. Technical Report 2001-1855, Department of Computer Science, Cornell University, Nov. 2001. Current version at http://www.cs.cornell.edu/projects/cyclone/
7
 
8
T. Dowd, F. Henderson, and P. Ross. Compiling Mercury to the .NET common language runtime. In N. Benton and A. Kennedy, editors, BABEL'01: First International Workshop on Multi-Language Infrastructure and Interoperability, volume 59.1 of Electronic Notes in Theoretical Computer Science, Florence, Italy, Sept. 2001
 
9
D. Evans. LCLint user's guide. http://lclint.cs.virginia.edu/guide/
10
11
12
13
 
14
 
15
16
17
 
18
R. Jain. The Art of Computer Systems Performance Analysis. Wiley, 1991
 
19
 
20
G. McGary. Bounds checking projects. http://www.gnu.org/software/gcc/projects/bp/main.html
21
22
23
 
24
25
26
 
27
M. Tofte, L. Birkedal, M. Elsman, N. Hallenberg, T. H. Olesen, and P. Sestoft. Programming with regions in the ML Kit (for version 4). Technical report, IT University of Copenhagen, Sept. 2001
 
28
29
30
31
 
32
33

CITED BY  73

Collaborative Colleagues:
Dan Grossman: colleagues
Greg Morrisett: colleagues
Trevor Jim: colleagues
Michael Hicks: colleagues
Yanling Wang: colleagues
James Cheney: colleagues