Notions of computation and monads
Information and Computation
A completeness theorem for Kleene algebras and the algebra of regular events
Papers presented at the IEEE symposium on Logic in computer science
Deriving backtracking monad transformers
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Coalgebras and monads in the semantics of java
Theoretical Computer Science - Special issue: Algebraic methodology and software technology
Kleene Algebra withTests and Commutativity Conditions
TACAs '96 Proceedings of the Second International Workshop on Tools and Algorithms for Construction and Analysis of Systems
Termination of a Set of Rules Modulo a Set of Equations
Proceedings of the 7th International Conference on Automated Deduction
Word problems requiring exponential time(Preliminary Report)
STOC '73 Proceedings of the fifth annual ACM symposium on Theory of computing
Monadic encapsulation of effects: a revised approach (extended version)
Journal of Functional Programming
Computational types from a logical perspective
Journal of Functional Programming
Backtracking, interleaving, and terminating monad transformers: (functional pearl)
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Monad-independent Dynamic Logic in HasCasl
Journal of Logic and Computation
Combining effects: sum and tensor
Theoretical Computer Science - Clifford lectures and the mathematical foundations of programming semantics
Nonlocal Flow of Control and Kleene Algebra with Tests
LICS '08 Proceedings of the 2008 23rd Annual IEEE Symposium on Logic in Computer Science
A generic complete dynamic logic for reasoning about purity and effects
FASE'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Fundamental approaches to software engineering
Linear regions are all you need
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Just do it: simple monadic equational reasoning
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
A counterexample to tensorability of effects
CALCO'11 Proceedings of the 4th international conference on Algebra and coalgebra in computer science
A coinductive calculus for asynchronous side-effecting processes
Information and Computation
Hi-index | 0.00 |
Monads are a well-established tool for modelling various computational effects. They form the semantic basis of Moggi's computational metalanguage, the metalanguage of effects for short, which made its way into modern functional programming in the shape of Haskell's do-notation. Standard computational idioms call for specific classes of monads that support additional control operations. Here, we introduce Kleene monads, which additionally feature nondeterministic choice and Kleene star, i.e. nondeterministic iteration, and we provide a metalanguage and a sound calculus for Kleene monads, the metalanguage of control and effects, which is the natural joint extension of Kleene algebra and the metalanguage of effects. This provides a framework for studying abstract program equality focussing on iteration and effects. These aspects are known to have decidable equational theories when studied in isolation. However, it is well known that decidability breaks easily; e.g. the Horn theory of continuous Kleene algebras fails to be recursively enumerable. Here, we prove several negative results for the metalanguage of control and effects; in particular, already the equational theory of the unrestricted metalanguage of control and effects over continuous Kleene monads fails to be recursively enumerable. We proceed to identify a fragment of this language which still contains both Kleene algebra and the metalanguage of effects and for which the natural axiomatisation is complete, and indeed the equational theory is decidable.