{"title":"The recursive polarized dual calculus","authors":"Aaron Stump","doi":"10.1145/2541568.2541575","DOIUrl":null,"url":null,"abstract":"This paper introduces the Recursive Polarized Dual Calculus (RP-DC), based on Wadler's Dual Calculus. RP-DC features a polarized form of reduction, which enables several simplifications over previous related systems. It also adds inductive types with recursion, from which coinductive types with corecursion can be defined. Typing and reduction relations are defined for RP-DC, and we consider several examples of practical programming. Logical consistency is proved, as well as a canonicity theorem showing that all closed values of a certain family of types are canonical. This shows how RP-DC can be used for practical programming, where canonical final results are required.","PeriodicalId":153056,"journal":{"name":"Programming Languages meets Program Verification","volume":"113 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-01-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Programming Languages meets Program Verification","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2541568.2541575","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3
Abstract
This paper introduces the Recursive Polarized Dual Calculus (RP-DC), based on Wadler's Dual Calculus. RP-DC features a polarized form of reduction, which enables several simplifications over previous related systems. It also adds inductive types with recursion, from which coinductive types with corecursion can be defined. Typing and reduction relations are defined for RP-DC, and we consider several examples of practical programming. Logical consistency is proved, as well as a canonicity theorem showing that all closed values of a certain family of types are canonical. This shows how RP-DC can be used for practical programming, where canonical final results are required.