User loginNavigation 
Copatterns: the final approach to codata?Andreas Abel and Brigitte Pientka's WellFounded Recursion with Copatterns; a Unified Approach to Termination and Productivity is one of my highlights of the justfinished ICFP 2013, but it makes sense to focus on the first paper on this work, published at POPL back in January.
Codata has been often discussed here and elsewhere. See notably the discussion on Turner's Total Functional Programming (historical note: this 2004 beautification of the original 1995 paper which had much of the same ideas), and on the categorytheoryinspired Charity language. Given those precedents, it would be easy for the quick reader to "meh" on the novelty of putting "observation" first (elimination rather than introduction rules) when talking about codata; yet the above paper is the first concrete, usable presentation of an observation in a practical setting that feels right, and it solves longstanding problem that current dependentlytyped languages (Coq and Agda) have. Coinduction has an even more prominent role, due to its massive use to define program equivalence in concurrent process calculi; the relevant LtU discussion being about Davide Sangiorgi's On the origins of Bisimulation, Coinduction, and Fixed Points. The POPL'13 paper doesn't really tell us how coinduction should be seen with copatterns. It does not adress the question of termination, which is the topic of the more recent ICFP'13 paper, but I would say that the answer on that point feels less definitive. 
Browse archives
Active forum topics

Recent comments
14 weeks 1 day ago
18 weeks 3 days ago
20 weeks 1 day ago
20 weeks 1 day ago
22 weeks 5 days ago
27 weeks 3 days ago
27 weeks 3 days ago
27 weeks 6 days ago
27 weeks 6 days ago
30 weeks 4 days ago