AbstractFusion 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 correspon...
AbstractThe structure of monadic functional programs allows the integration of many different featur...
The structure of monadic functional programs allows the integration of many different features by ju...
In this paper we explain how recursion operators can be used to structure and reason about program s...
AbstractFusion laws permit to eliminate various of the intermediate data structures that are created...
Abstract. Functional programs often combine separate parts of the program using intermediate data st...
These notes discuss the simultaneous use of generalised fold operators and monads to structure funct...
In functional programming, small programs are often glued together to construct a complex program. P...
Functional programs often combine separate parts of the program using intermediate data structures f...
There are a number of approaches for eliminating intermediate data structures in functional programs...
In a recent paper, Launchbury, Lewis, and Cook observe that some Haskell applications could benefit ...
We present an approach to inductive synthesis of functional programs based on the detection of recur...
Functional programs often combine separate parts using intermediate data structures for communicatin...
AbstractWe present a simple computational metalanguage with general recursive types and multiple not...
Monads have become a popular tool for dealing with computational effects in Haskell for two signific...
Monads are commonplace programming devices that are used to uniformly structure computations;in part...
AbstractThe structure of monadic functional programs allows the integration of many different featur...
The structure of monadic functional programs allows the integration of many different features by ju...
In this paper we explain how recursion operators can be used to structure and reason about program s...
AbstractFusion laws permit to eliminate various of the intermediate data structures that are created...
Abstract. Functional programs often combine separate parts of the program using intermediate data st...
These notes discuss the simultaneous use of generalised fold operators and monads to structure funct...
In functional programming, small programs are often glued together to construct a complex program. P...
Functional programs often combine separate parts of the program using intermediate data structures f...
There are a number of approaches for eliminating intermediate data structures in functional programs...
In a recent paper, Launchbury, Lewis, and Cook observe that some Haskell applications could benefit ...
We present an approach to inductive synthesis of functional programs based on the detection of recur...
Functional programs often combine separate parts using intermediate data structures for communicatin...
AbstractWe present a simple computational metalanguage with general recursive types and multiple not...
Monads have become a popular tool for dealing with computational effects in Haskell for two signific...
Monads are commonplace programming devices that are used to uniformly structure computations;in part...
AbstractThe structure of monadic functional programs allows the integration of many different featur...
The structure of monadic functional programs allows the integration of many different features by ju...
In this paper we explain how recursion operators can be used to structure and reason about program s...