





The Sage Programming Language

Overview

printf

Sage performs hybrid type checking of these specifications, proving or refuting as much as possible statically, and inserting runtime checks otherwise. For the complete details of the theory and empirical results, we direct you to the technical report.

Software

Download [zip] the current code snapshot. Note that this is a research prototype and a work in progress.

Documentation and Papers

Sage: Unified Hybrid Checking for First-Class Types, General Refinement Types, and Dynamic . Kenneth Knowles, Aaron Tomb, Jessica Gronski, Stephen N. Freund, Cormac Flanagan. Revised and extended version of our paper at the 2006 Scheme and Functional Programming workshop.

Compositional and Decidable Checking for Dependent Contract Types. Kenneth Knowles, Cormac Flanagan. Tech Report UCSC-SOE-08-17 2008.

Space Efficient Gradual Typing. Dave Herman, Aaron Tomb, Cormac Flanagan. TFP 2007.

Unifying Hybrid Types and Contracts. Jessica Gronski, Cormac Flanagan. TFP 2007.

Type Reconstruction for General Refinement Types. Kenneth Knowles, Cormac Flanagan. ESOP 2007. (extended version)

Hybrid Types, Invariants, and Refinements for Imperative Objects. Cormac Flanagan, Stephen N. Freund, and Aaron Tomb. FOOL 2006.

Hybrid Type Checking. Cormac Flanagan. POPL 2006.

Credits