Results 1 
8 of
8
Chasing bottoms: A case study in program verification in the presence of partial and infinite values
 In MPC 2004, volume 3125 of LNCS
, 2004
"... Abstract. This work is a case study in program verification: We have written a simple parser and a corresponding prettyprinter in a nonstrict functional programming language with lifted pairs and functions (Haskell). A natural aim is to prove that the programs are, in some sense, each other’s inver ..."
Abstract

Cited by 11 (2 self)
 Add to MetaCart
Abstract. This work is a case study in program verification: We have written a simple parser and a corresponding prettyprinter in a nonstrict functional programming language with lifted pairs and functions (Haskell). A natural aim is to prove that the programs are, in some sense, each other’s inverses. The presence of partial and infinite values in the domains makes this exercise interesting, and having lifted types adds an extra spice to the task. We have tackled the problem in different ways, and this is a report on the merits of those approaches. More specifically, we first describe a method for testing properties of programs in the presence of partial and infinite values. By testing before proving we avoid wasting time trying to prove statements that are not valid. Then we prove that the programs we have written are in fact (more or less) inverses using first fixpoint induction and then the approximation lemma. 1
Syntactic Composition of TopDown Tree Transducers is Short Cut Fusion
, 2001
"... We compare two deforestation techniques: short cut fusion formalized in category theory and the syntactic composition of tree transducers. The former strongly depends on types and uses the parametricity property or free theorem whereas the latter makes no use of types at all and allows more general ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
We compare two deforestation techniques: short cut fusion formalized in category theory and the syntactic composition of tree transducers. The former strongly depends on types and uses the parametricity property or free theorem whereas the latter makes no use of types at all and allows more general compositions. We introduce the notion of a categorical transducer which is a generalization of a catamorphism and show a respective fusion result which is a generalization of the `acid rain theorem'. We prove the following main theorems: (i) The class of all categorical transducers builds a category where composition is fusion. (ii) The semantics of categorical transducers is a functor. (iii) The subclass of topdown categorical transducers is a subcategory. (iv) Syntactic composition of topdown tree transducers is equivalent to the fusion of topdown categorical transducers.
"Explosive" Programming Controlled by Calculation
, 1998
"... . In the design of a functional library in the area of datamining several algorithmic patterns have been identified which call for generic programming. Some of these have to do with flattening functions which arise in a particular group of hierarchical systems. In this paper we describe our efforts ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
. In the design of a functional library in the area of datamining several algorithmic patterns have been identified which call for generic programming. Some of these have to do with flattening functions which arise in a particular group of hierarchical systems. In this paper we describe our efforts to make such functionalities generic. We start by a generic inductive construction of the intended class of hierarchical types. We conclude by relating the structure of the relevant basefunctors with the algebraic structure which is required by the generic flattening functionality, in particular concerning its "deforestation" towards a linearly complex implementation. The instances we provide as examples include the widely known bill of materials "explode" operation. 1 Introduction The definition of a function f : B \Gamma! A (1) can be regarded as a kind of "contract": function f is committed to produce an Avalue provided it is supplied with a Bvalue. Such "functional contracts" ca...
Fusion of Monadic (Co)Recursive Programs
"... this paper we present the definitions and some fusion laws corresponding to monadic anamorphism and monadic hylomorphism. We also give a brief account of some nontrivial applications that can be represented in terms of these functionals. (A detailed treatment of the topics presented in this paper ca ..."
Abstract
 Add to MetaCart
(Show Context)
this paper we present the definitions and some fusion laws corresponding to monadic anamorphism and monadic hylomorphism. We also give a brief account of some nontrivial applications that can be represented in terms of these functionals. (A detailed treatment of the topics presented in this paper can be found in [17].) 2 Preliminaries
The UnderPerforming Unfold A new approach to optimising corecursive programs
"... This paper presents a new approach to optimising corecursive programs by factorisation. In particular, we focus on programs written using the corecursion operator unfold. We use and expand upon the proof techniques of guarded coinduction and unfold fusion, capturing a pattern of generalising coinduc ..."
Abstract
 Add to MetaCart
(Show Context)
This paper presents a new approach to optimising corecursive programs by factorisation. In particular, we focus on programs written using the corecursion operator unfold. We use and expand upon the proof techniques of guarded coinduction and unfold fusion, capturing a pattern of generalising coinductive hypotheses by means of abstraction and representation functions. The pattern we observe is simple, has not been observed before, and is widely applicable. We develop a general program factorisation theorem from this pattern, demonstrating its utility with a range of practical examples. Categories and Subject Descriptors D.1.1 [Programming Techniques]:
5th Conference on Algebra and Coalgebra in Computer Science Selected Papers edited by
, 2014
"... CALCO, aims to bring together researchers and practitioners with interests in foundational aspects, and both traditional and emerging uses of algebras and coalgebras in computer science. This is a highlevel, biennial conference formed by joining the forces and reputations of CMCS (the International ..."
Abstract
 Add to MetaCart
(Show Context)
CALCO, aims to bring together researchers and practitioners with interests in foundational aspects, and both traditional and emerging uses of algebras and coalgebras in computer science. This is a highlevel, biennial conference formed by joining the forces and reputations of CMCS (the International Workshop on
To appear in EPTCS. Foundations of Total Functional DataFlow Programming
"... The field of declarative stream programming (discrete time, clocked synchronous, modular, datacentric) is divided between the dataflow graph paradigm favored by domain experts, and the functional reactive paradigm favored by academics. In this paper, we describe the foundations of a framework for ..."
Abstract
 Add to MetaCart
(Show Context)
The field of declarative stream programming (discrete time, clocked synchronous, modular, datacentric) is divided between the dataflow graph paradigm favored by domain experts, and the functional reactive paradigm favored by academics. In this paper, we describe the foundations of a framework for unifying functional and dataflow styles that differs from FRP proper in significant ways: It is based on set theory to match the expectations of domain experts, and the two paradigms are reduced symmetrically to a lowlevel middle ground, with strongly compositional semantics. The design of the framework is derived from mathematical first principles, in particular coalgebraic coinduction and a standard relational model of stateful computation. The abstract syntax and semantics introduced here constitute the full core of a novel stream programming language.
Foundations of Total Functional DataFlow Programming
"... The field of declarative stream programming (discrete time, clocked synchronous, modular, datacentric) is divided between the dataflow graph paradigm favored by domain experts, and the functional reactive paradigm favored by academics. In this paper, we describe the foundations of a framework for ..."
Abstract
 Add to MetaCart
(Show Context)
The field of declarative stream programming (discrete time, clocked synchronous, modular, datacentric) is divided between the dataflow graph paradigm favored by domain experts, and the functional reactive paradigm favored by academics. In this paper, we describe the foundations of a framework for unifying functional and dataflow styles that differs from FRP proper in significant ways: It is based on set theory to match the expectations of domain experts, and the two paradigms are reduced symmetrically to a lowlevel middle ground, with strongly compositional semantics. The design of the framework is derived from mathematical first principles, in particular coalgebraic coinduction and a standard relational model of stateful computation. The abstract syntax and semantics introduced here constitute the full core of a novel stream programming language.