Notions of computation and monads
Information and Computation
Semantics with applications: a formal introduction
Semantics with applications: a formal introduction
Imperative functional programming
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Infinite objects in type theory
TYPES '93 Proceedings of the international workshop on Types for proofs and programs
Categorical Fixed Point Calculus
CTCS '95 Proceedings of the 6th International Conference on Category Theory and Computer Science
Lifting Theorems for Kleisli Categories
Proceedings of the 9th International Conference on Mathematical Foundations of Programming Semantics
Infinite trees and completely iterative theories: a coalgebraic view
Theoretical Computer Science
Combining effects: sum and tensor
Theoretical Computer Science - Clifford lectures and the mathematical foundations of programming semantics
The category-theoretic solution of recursive program schemes
Theoretical Computer Science - Algebra and coalgebra in computer science
Inductive reasoning about effectful data types
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Haskell '07 Proceedings of the ACM SIGPLAN workshop on Haskell workshop
Trace-Based Coinductive Operational Semantics for While
TPHOLs '09 Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics
Completely iterative algebras and completely iterative monads
Information and Computation
Adequacy for infinitary algebraic effects
CALCO'09 Proceedings of the 3rd international conference on Algebra and coalgebra in computer science
Fibrational induction meets effects
FOSSACS'12 Proceedings of the 15th international conference on Foundations of Software Science and Computational Structures
FLOPS'12 Proceedings of the 11th international conference on Functional and Logic Programming
Reasoning about i/o in functional programs
CEFP'11 Proceedings of the 4th Summer School conference on Central European Functional Programming School
Hi-index | 0.00 |
The monads used to model effectful computations traditionally concentrate on the 'destination'-the final results of the program. However, sometimes we are also interested in the 'journey'-the intermediate course of a computation-especially when reasoning about non-terminating interactive systems. In this article we claim that a necessary property of a monad for it to be able to describe the behaviour of a program is complete iterativity. We show how an ordinary monad can be modified to disclose more about its internal computational behaviour, by applying an associated transformer to a completely iterative monad. To illustrate this, we introduce two new constructions: a coinductive cousin of Cenciarelli and Moggi@?s generalised resumption transformer, and States-a State-like monad that accumulates the intermediate states.