Equational reasoning about programs with general recursion and call-by-value semantics
- Garrin Kimmell,
- Aaron Stump,
- ,
- Peng Fu,
- Tim Sheard,
- Stephanie Weirich
- University of Iowa,
- Portland State University,
- University of Pennsylvania
Open access
Abstract
Dependently typed programming languages provide a mechanism for integrating verification and programming by encoding invariants as types. Traditionally, dependently typed languages have been based on constructive type theories, where the connection between proofs and programs is based on the Curry-Howard correspondence. This connection comes at a price, however, as it is necessary for the languages to be normalizing to preserve logical soundness. Trellys is a call-by-value dependently typed programming language currently in development that is designed to integrate a type theory with unsound programming features, such as general recursion, Type:Type, and arbitrary data types. In this paper we outline one core language design for Trellys, and demonstrate the use of the key language constructs to facilitate sound reasoning about potentially diverging programs.
Publication Information
Output type
Original language
English (US)Pages from-to (Number of pages)
Pages 19-46 (28 pages)Journal (Volume, Issue Number)
Progress in Informatics (Issue 10)Publication milestones
- Published - 03/2013
Publication status
ISSN
1349-8614Publication IDs
- Scopus: 84877641121
