Design patterns as higher-order datatype-generic programs
J Gibbons - Proceedings of the 2006 ACM SIGPLAN workshop on …, 2006 - dl.acm.org
Design patterns are reusable abstractions in object-oriented software. However, using
current mainstream programming languages, these elements can only be expressed extra …
current mainstream programming languages, these elements can only be expressed extra …
Calculating functional programs
J Gibbons - Algebraic and Coalgebraic Methods in the …, 2002 - Springer
Functional programs are merely equations; they may be manipulated by straightforward
equational reasoning. In particular, one can use this style of reasoning to calculate …
equational reasoning. In particular, one can use this style of reasoning to calculate …
Recursive coalgebras from comonads
The concept of recursive coalgebra of a functor was introduced in the 1970s by Osius in his
work on categorical set theory to discuss the relationship between wellfounded induction …
work on categorical set theory to discuss the relationship between wellfounded induction …
Termination checking with types
A Abel - RAIRO-Theoretical Informatics and Applications, 2004 - cambridge.org
The paradigm of type-based termination is explored for functional programming with
recursive data types. The article introduces, a lambda-calculus with recursion, inductive …
recursive data types. The article introduces, a lambda-calculus with recursion, inductive …
Staged selective parser combinators
Parser combinators are a middle ground between the fine control of hand-rolled parsers and
the high-level almost grammar-like appearance of parsers created via parser generators …
the high-level almost grammar-like appearance of parsers created via parser generators …
Adjoint folds and unfolds—an extended study
R Hinze - Science of Computer Programming, 2013 - Elsevier
Folds and unfolds are at the heart of the algebra of programming. They allow the
cognoscenti to derive and manipulate programs rigorously and effectively. However, most, if …
cognoscenti to derive and manipulate programs rigorously and effectively. However, most, if …
A survey of compositional signal flow theory
Signal flow graphs are combinatorial models for linear dynamical systems, playing a
foundational role in control theory and engineering. In this survey, we overview a series of …
foundational role in control theory and engineering. In this survey, we overview a series of …
[PDF][PDF] Mixed Inductive-Coinductive Reasoning Types, Programs and Logic
H Basold - 2018 - repository.ubn.ru.nl
Induction and coinduction are two complementary techniques used in mathematics and
computer science. These techniques occur together, for example, in control systems: On the …
computer science. These techniques occur together, for example, in control systems: On the …
Generalised coinduction
F Bartels - Mathematical Structures in Computer Science, 2003 - cambridge.org
We introduce the, while still giving rise to a proof technique for bisimilarity. We first present a
theorem showing the validity of the resulting definition and proof principles for categories …
theorem showing the validity of the resulting definition and proof principles for categories …
Unifying structured recursion schemes
Folds over inductive datatypes are well understood and widely used. In their plain form, they
are quite restricted; but many disparate generalisations have been proposed that enjoy …
are quite restricted; but many disparate generalisations have been proposed that enjoy …