Induction by Coinduction and Control Operators in Call-by-Name
Abstract
This paper studies emulation of induction by coinduction in a call-by-name language with control operators. Since it is known that call-by-name programming languages with control operators cannot have general initial algebras, interaction of induction and control operators is often restricted to effect-free functions. We show that some class of such restricted inductive types can be derived from full coinductive types by the power of control operators. As a typical example of our results, the type of natural numbers is represented by the type of streams. The underlying idea is a counterpart of the fact that some coinductive types can be expressed by inductive types in call-by-name pure language without side-effects.
- Publication:
-
arXiv e-prints
- Pub Date:
- September 2013
- DOI:
- 10.48550/arXiv.1309.1258
- arXiv:
- arXiv:1309.1258
- Bibcode:
- 2013arXiv1309.1258K
- Keywords:
-
- Computer Science - Logic in Computer Science;
- Computer Science - Programming Languages;
- F.3.3;
- D.3.3;
- F.4.1
- E-Print:
- In Proceedings COS 2013, arXiv:1309.0924