Online ISSN:1349-8606
Progress in Informatics  
No.10 March 2013  
Page 19-46 PDF(2057KB) | References
doi:10.2201/NiiPi.2013.10.3
Equational reasoning about programs with general recursion and call-by-value semantics
Garrin KIMMELL1, Aaron STUMP2, Harley D. EADES3, Peng FU4, Tim SHEARD5, Stephanie WEIRICH6, Chris CASINGHINO7, Vilhelm SJÖBERG8, Nathan COLLINS9 and Ki YUNG AHN10
1,2,3,4University of Iowa
6,7,8University of Pennsylvania
5,9,10Portland State University
(Received: May 16,2012)
(Revised: September 30,2012)
(Accepted: December 1,2012)
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.
Keywords:
design, languages, verification, theory
PDF(2057KB) | References

National Institute of Informatics is a member of CrossRef.
Go back HOME