Sage: Practical Hybrid Type Checking

Kenn Knowles

Abstract

The Sage programming language supports precise specifications through a dependent type system in which types may be refined to uphold arbitrary predicates. To enforce these expressive specifications, Sage uses hybrid type checking, which integrates static type checking, dynamic contract checking, and automatic theorem proving techniques. Experimental results show that Sage can verify many correctness properties at compile time, and can detect more defects than traditional static type systems.

CMPS 280G Winter 2006/Sage: Practical Hybrid Type Checking (last edited 2006-01-12 09:02:53 by LucaDeAlfaro)