Region-based Memory Management in Cyclone

Dan Grossman, Greg Morrisett, Trevor Jim, Michael Hicks, Yanling Wang, James Cheney

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract / Description of output

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.
Original languageEnglish
Title of host publicationProceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation
Place of PublicationNew York, NY, USA
Number of pages12
ISBN (Print)1-58113-463-0
Publication statusPublished - 2002

Publication series

NamePLDI '02


Dive into the research topics of 'Region-based Memory Management in Cyclone'. Together they form a unique fingerprint.

Cite this