Results 1 - 10
of
12
Restriction categories I: Categories of partial maps
- Theoretical Computer Science
, 2001
"... ..."
Generic trace semantics via coinduction
- Logical Methods in Comp. Sci
, 2007
"... Abstract. Trace semantics has been defined for various kinds of state-based systems, notably with different forms of branching such as non-determinism vs. probability. In this paper we claim to identify one underlying mathematical structure behind these “trace ..."
Abstract
-
Cited by 12 (5 self)
- Add to MetaCart
Abstract. Trace semantics has been defined for various kinds of state-based systems, notably with different forms of branching such as non-determinism vs. probability. In this paper we claim to identify one underlying mathematical structure behind these “trace
Fusion of Recursive Programs with Computational Effects
- Theor. Comp. Sci
, 2000
"... Fusion laws permit to eliminate various of the intermediate data structures that are created in function compositions. The fusion laws associated with the traditional recursive operators on datatypes cannot in general be used to transform recursive programs with effects. Motivated by this fact, t ..."
Abstract
-
Cited by 10 (2 self)
- Add to MetaCart
Fusion laws permit to eliminate various of the intermediate data structures that are created in function compositions. The fusion laws associated with the traditional recursive operators on datatypes cannot in general be used to transform recursive programs with effects. Motivated by this fact, this paper addresses the definition of two recursive operators on datatypes that capture functional programs with effects. Effects are assumed to be modeled by monads. The main goal is thus the derivation of fusion laws for the new operators. One of the new operators is called monadic unfold. It captures programs (with effects) that generate a data structure in a standard way. The other operator is called monadic hylomorphism, and corresponds to programs formed by the composition of a monadic unfold followed by a function defined by structural induction on the data structure that the monadic unfold generates. 1 Introduction A common approach to program design in functional programmin...
A Coalgebraic Foundation for Linear Time Semantics
- In Category Theory and Computer Science
, 1999
"... We present a coalgebraic approach to trace equivalence semantics based on lifting behaviour endofunctors for deterministic action to Kleisli categories of monads for non-deterministic choice. In Set , this gives a category with ordinary transition systems as objects and with morphisms characterised ..."
Abstract
-
Cited by 10 (1 self)
- Add to MetaCart
We present a coalgebraic approach to trace equivalence semantics based on lifting behaviour endofunctors for deterministic action to Kleisli categories of monads for non-deterministic choice. In Set , this gives a category with ordinary transition systems as objects and with morphisms characterised in terms of a linear notion of bisimulation. The final object in this category is the canonical abstract model for trace equivalence and can be obtained by extending the final coalgebra of the deterministic action behaviour to the Kleisli category of the non-empty powerset monad. The corresponding final coalgebra semantics is fully abstract with respect to trace equivalence.
Towards Merging Recursion and Comonads
, 2000
"... Comonads are mathematical structures that account naturally for effects that derive from the context in which a program is executed. This paper reports ongoing work on the interaction between recursion and comonads. Two applications are shown that naturally lead to versions of a comonadic fold op ..."
Abstract
-
Cited by 8 (2 self)
- Add to MetaCart
Comonads are mathematical structures that account naturally for effects that derive from the context in which a program is executed. This paper reports ongoing work on the interaction between recursion and comonads. Two applications are shown that naturally lead to versions of a comonadic fold operator on the product comonad. Both versions capture functions that require extra arguments for their computation and are related with the notion of strong datatype. 1 Introduction One of the main features of recursive operators derivable from datatype definitions is that they impose a structure upon programs which can be exploited for program transformation. Recursive operators structure functional programs according to the data structures they traverse or generate and come equipped with a battery of algebraic laws, also derivable from type definitions, which are used in program calculations [24, 11, 5, 15]. Some of these laws, the so-called fusion laws, are particularly interesting in p...
Categories for Synchrony and Asynchrony
, 1995
"... The purpose of this paper is to show how one may construct from a synchronous interaction category, such as SProc, a corresponding asynchronous version. Significantly, it is not a simple Kleisli construction, but rather arises due to particular properties of a monad combined with the existence of a ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
The purpose of this paper is to show how one may construct from a synchronous interaction category, such as SProc, a corresponding asynchronous version. Significantly, it is not a simple Kleisli construction, but rather arises due to particular properties of a monad combined with the existence of a certain type of distributive law. Following earlier work we consider those synchronous interaction categories which arise from model categories through a quotiented span construction: SProc arises in this way from labelled transition systems. The quotienting is determined by a cover system which expresses bisimulation. Asynchrony is introduced into a model category by a monad which, in the case of transition systems, adds the ability to idle. To form a process category atop this two further ingredients are required: pullbacks in the Kleisli category, and a cover system to express (weak) bisimulation. The technical results of the paper provide necessary and sufficient conditions for a Kleisli...
Monadic Corecursion - Definition, Fusion Laws, and Applications
- Electronic Notes in Theoretical Computer Science
, 1998
"... This paper investigates corecursive definitions which are at the same time monadic. This corresponds to functions that generate a data structure following a corecursive process, while producing a computational effect modeled by a monad. We introduce a functional, called monadic anamorphism, that cap ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
This paper investigates corecursive definitions which are at the same time monadic. This corresponds to functions that generate a data structure following a corecursive process, while producing a computational effect modeled by a monad. We introduce a functional, called monadic anamorphism, that captures definitions of this kind. We also explore another class of monadic recursive functions, corresponding to the composition of a monadic anamorphism followed by (the lifting of) a function defined by structural recursion on the data structure that the monadic anamorphism generates. Such kind of functions are captured by so-called monadic hylomorphism. We present transformation laws for these monadic functionals. Two non-trivial applications are also described.
Combining a Monad and a Comonad
"... We give a systematic treatment of distributivity for a monad and a comonad as arises in giving category theoretic accounts of operational and denotational semantics, and in giving an intensional denotational semantics. We do this axiomatically, in terms of a monad and a comonad in a 2-category, givi ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
We give a systematic treatment of distributivity for a monad and a comonad as arises in giving category theoretic accounts of operational and denotational semantics, and in giving an intensional denotational semantics. We do this axiomatically, in terms of a monad and a comonad in a 2-category, giving accounts of the Eilenberg-Moore and Kleisli constructions. We analyse the eight possible relationships, deducing that two pairs are isomorphic, but that the other pairs are all distinct. We develop those 2-categorical denitions necessary to support this analysis. This work is supported by EPSRC grants GR/J84205: Frameworks for programming language semantics and logic and GR/M56333: The structure of programming languages : syntax and semantics, and British Council grant 747 FCS R34807: Data and program renement using algebraic structure. y The author acknowledges the support of STA through COE budget for Global Information Processing Project. 1 1 Introduction In recent years, th...
MONAD COMPOSITIONS I: GENERAL CONSTRUCTIONS AND RECURSIVE DISTRIBUTIVE LAWS
"... ABSTRACT. New techniques for constructing a distributive law of a monad over another are studied using submonads, quotient monads, product monads, recursively-defined distributive laws, and linear equations. Sequel papers will consider distributive laws in closed categories and will construct monad ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
ABSTRACT. New techniques for constructing a distributive law of a monad over another are studied using submonads, quotient monads, product monads, recursively-defined distributive laws, and linear equations. Sequel papers will consider distributive laws in closed categories and will construct monad approximations for compositions which fail to be a monad. 1.

