Results 1 -
2 of
2
Termination Checking with Types
, 1999
"... The paradigm of type-based termination is explored for functional programming with recursive data types. The article introduces , a lambda-calculus with recursion, inductive types, subtyping and bounded quanti cation. Decorated type variables representing approximations of inductive types ..."
Abstract
-
Cited by 25 (6 self)
- Add to MetaCart
The paradigm of type-based termination is explored for functional programming with recursive data types. The article introduces , a lambda-calculus with recursion, inductive types, subtyping and bounded quanti cation. Decorated type variables representing approximations of inductive types are used to track the size of function arguments and return values. The system is shown to be type safe and strongly normalizing. The main novelty is a bidirectional type checking algorithm whose soundness is established formally.
Monad Translating Inductive and Coinductive Types
- In Proc. Partial Evaluation and Semantics-Based Program Manipulation
, 2003
"... We show that the call-by-name monad translation of simply typed lambda calculus extended with sum and product types extends to special and general inductive and coinductive types so that its crucial property of preserving typings and - and commuting reductions is maintained. Speci c similar-pu ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
We show that the call-by-name monad translation of simply typed lambda calculus extended with sum and product types extends to special and general inductive and coinductive types so that its crucial property of preserving typings and - and commuting reductions is maintained. Speci c similar-purpose translations such as CPS translations follow from the general monad translations by specialization for appropriate concrete monads.

