Results 1  10
of
23
On Generalised Coinduction and Probabilistic Specification Formats: Distributive Laws in Coalgebraic Modelling
, 2004
"... ..."
Introduction to coalgebra: Towards mathematics of states and observations. http://www.cs.ru.nl/B.Jacobs/CLG/JacobsCoalgebraIntro. pdf. Draft book
, 2007
"... ..."
The essence of dataflow programming
 In APLAS
, 2005
"... Abstract. We propose a novel, comonadic approach to dataflow (streambased) computation. This is based on the observation that both general and causal stream functions can be characterized as coKleisli arrows of comonads and on the intuition that comonads in general must be a good means to structure ..."
Abstract

Cited by 19 (3 self)
 Add to MetaCart
(Show Context)
Abstract. We propose a novel, comonadic approach to dataflow (streambased) computation. This is based on the observation that both general and causal stream functions can be characterized as coKleisli arrows of comonads and on the intuition that comonads in general must be a good means to structure contextdependent computation. In particular, we develop a generic comonadic interpreter of languages for contextdependent computation and instantiate it for streambased computation. We also discuss distributive laws of a comonad over a monad as a means to structure combinations of effectful and contextdependent computation. We apply the latter to analyse clocked dataflow (partial stream based) computation. 1
Distributive laws for the coinductive solution of recursive equations
 Information and Computation
"... This paper illustrates the relevance of distributive laws for the solution of recursive equations, and shows that one approach for obtaining coinductive solutions of equations via infinite terms is in fact a special case of a more general approach using an extended form of coinduction via distributi ..."
Abstract

Cited by 13 (1 self)
 Add to MetaCart
(Show Context)
This paper illustrates the relevance of distributive laws for the solution of recursive equations, and shows that one approach for obtaining coinductive solutions of equations via infinite terms is in fact a special case of a more general approach using an extended form of coinduction via distributive laws. 1
Modular TypeSafety Proofs in Agda
"... Methods for reusing code are widespread and well researched, but methods for reusing proofs are still emerging. We consider the use of dependent types for this purpose, introducing a modular approach for composing mechanized proofs. We show that common techniques for abstracting algorithms over data ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
Methods for reusing code are widespread and well researched, but methods for reusing proofs are still emerging. We consider the use of dependent types for this purpose, introducing a modular approach for composing mechanized proofs. We show that common techniques for abstracting algorithms over data structures naturally translate to abstractions over proofs. We introduce a language composed of a series of smaller language components, each defined as functors, and tie them together by taking the fixed point of their sum [Malcom, 1990]. We then give proofs of type preservation for each language component and show how to compose these proofs into a proof for the entire language, again by taking the fixed point of a sum of functors.
Generalizing Substitution
, 2003
"... It is well known that, given an endofunctor H on a category C, the initial (A + H−)algebras (if existing), i.e., the algebras of (wellfounded) Hterms over different variable supplies A, give rise to a monad with substitution as the extension operation (the free monad induced by the functor H). Mo ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
It is well known that, given an endofunctor H on a category C, the initial (A + H−)algebras (if existing), i.e., the algebras of (wellfounded) Hterms over different variable supplies A, give rise to a monad with substitution as the extension operation (the free monad induced by the functor H). Moss [17] and Aczel, Adámek, Milius and Velebil [2] have shown that a similar monad, which even enjoys the additional special property of having iterations for all guarded substitution rules (complete iterativeness), arises from the inverses of the final (A + H−)coalgebras (if existing), i.e., the algebras of nonwellfounded Hterms. We show that, upon an appropriate generalization of the notion of substitution, the same can more generally be said about the initial T ′ (A, −)algebras resp. the inverses of the final T ′ (A, −)coalgebras for any endobifunctor T ′ on any category C such that the functors T ′ (−,X) uniformly carry a monad structure.
Recursion Schemes for Dynamic Programming
 Mathematics of Program Construction, 8th International Conference, MPC 2006
"... Dynamic programming is an algorithm design technique, which allows to improve efficiency by avoiding recomputation of identical subtasks. We present a new recursion combinator, dynamorphism,which captures the dynamic programming recursion pattern with memoization and identify some simple conditions ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
(Show Context)
Dynamic programming is an algorithm design technique, which allows to improve efficiency by avoiding recomputation of identical subtasks. We present a new recursion combinator, dynamorphism,which captures the dynamic programming recursion pattern with memoization and identify some simple conditions when functions defined by structured general recursion can be redefined as a dynamorphism. The applicability of the new recursion combinator is demonstrated on classical dynamic programming algorithms: Fibonacci numbers, binary partitions, edit distance and longest common subsequence.
The essence of dataflow programming (short version
 Proc. of 3rd Asian Symp. on Programming Languages and Systems, APLAS 2005, v. 3780 of Lect. Notes in Comput. Sci
, 2005
"... Abstract. We propose a novel, comonadic approach to dataflow (streambased) computation. This is based on the observation that both general and causal stream functions can be characterized as coKleisli arrows of comonads and on the intuition that comonads in general must be a good means to structure ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
(Show Context)
Abstract. We propose a novel, comonadic approach to dataflow (streambased) computation. This is based on the observation that both general and causal stream functions can be characterized as coKleisli arrows of comonads and on the intuition that comonads in general must be a good means to structure contextdependent computation. In particular, we develop a generic comonadic interpreter of languages for contextdependent computation and instantiate it for streambased computation. We also discuss distributive laws of a comonad over a monad as a means to structure combinations of effectful and contextdependent computation. We apply the latter to analyse clocked dataflow (partial stream based) computation. 1
CIA structures and the semantics of recursion
 In Procs. FOSSACS’10, volume 6014 of LNCS
, 2010
"... Abstract. Final coalgebras for a functor serve as semantic domains for state based systems of various types. For example, formal languages, streams, nonwellfounded sets and behaviors of CCS processes form final coalgebras. We present a uniform account of the semantics of recursive definitions in f ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
Abstract. Final coalgebras for a functor serve as semantic domains for state based systems of various types. For example, formal languages, streams, nonwellfounded sets and behaviors of CCS processes form final coalgebras. We present a uniform account of the semantics of recursive definitions in final coalgebras by combining two ideas: (1) final coalgebras are also initial completely iterative algebras (cia); (2) additional algebraic operations on final coalgebras may be presented in terms of a distributive law λ. We first show that a distributive law leads to new extended cia structures on the final coalgebra. Then we formalize recursive function definitions involving operations given by λ as recursive program schemes for λ, and we prove that unique solutions exist in the extended cias. We illustrate our results by the four concrete final coalgebras mentioned above, e. g., a finite stream circuit defines a unique stream function and we show how to define new process combinators from given ones by sos rules involving recursion.
The expression lemma ⋆
"... Abstract. Algebraic data types and catamorphisms (folds) play a central role in functional programming as they allow programmers to define recursive data structures and operations on them uniformly by structural recursion. Likewise, in objectoriented (OO) programming, recursive hierarchies of objec ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
Abstract. Algebraic data types and catamorphisms (folds) play a central role in functional programming as they allow programmers to define recursive data structures and operations on them uniformly by structural recursion. Likewise, in objectoriented (OO) programming, recursive hierarchies of object types with virtual methods play a central role for the same reason. There is a semantical correspondence between these two situations which we reveal and formalize categorically. To this end, we assume a coalgebraic model of OO programming with functional objects. The development may be helpful in deriving refactorings that turn sufficiently disciplined functional programs into OO programs of a designated shape and vice versa. Key words: expression lemma, expression problem, functional object, catamorphism, fold, the composite design pattern, program calculation, distributive law, free monad, cofree comonad. 1