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 …

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 …

Recursive coalgebras from comonads

V Capretta, T Uustalu, V Vene - Information and Computation, 2006 - Elsevier
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 …

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 …

Staged selective parser combinators

J Willis, N Wu, M Pickering - Proceedings of the ACM on Programming …, 2020 - dl.acm.org
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 …

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 …

A survey of compositional signal flow theory

F Bonchi, P Sobociński, F Zanasi - … : IFIP's Exciting First 60+ Years, Views …, 2021 - Springer
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 …

[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 …

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 …

Unifying structured recursion schemes

R Hinze, N Wu, J Gibbons - ACM SIGPLAN Notices, 2013 - dl.acm.org
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 …