%0 Journal Article %J SIGPLAN Not. %D 2002 %T Region-based memory management in cyclone %A Grossman,Dan %A Morrisett,Greg %A Jim,Trevor %A Hicks, Michael W. %A Wang,Yanling %A Cheney,James %X 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. %B SIGPLAN Not. %V 37 %P 282 - 293 %8 2002/05// %@ 0362-1340 %G eng %U http://doi.acm.org/10.1145/543552.512563 %N 5 %R 10.1145/543552.512563