Formal Type Soundness for Cyclone''s Region System

  • Authors:
  • Dan Grossman;Greg Morrisett;Trevor Jim;Mike Hicks;Yanling Wang;James Cheney

  • Affiliations:
  • -;-;-;-;-;-

  • Venue:
  • Formal Type Soundness for Cyclone''s Region System
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

Cyclone is a polymorphic, type-safe programming language derived from C\@. The primary design goals of Cyclone are to let programmers control data representations 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 uses a combination of default annotations, local type inference, and a novel treatment of region effects to reduce 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. This technical report is really two documents in one: The first part is a paper submitted for publication in November, 2001. The second part is the full formal language and type-safety proof mentioned briefly in the first part. If you have already read a version of, ``Region-Based Memory Management in Cyclone'''', then you should proceed directly to Section 9.