Sequencing of effectful computations can be neatly captured using monads and elegantly written using do notation. In practice such monads often allow additional ways of composing computations, which have to be written explicitly using combinators. We identify joinads, an abstract notion of computation that is stronger than monads and captures many such ad-hoc extensions. In particular, joinads are monads with three additional operations: one of type m a → m b → m (a, b) captures various forms of parallel composition, one of type m a → m a → m a that is inspired by choice and one of type m a → m (m a) that captures aliasing of computations. Algebraically, the first two operations form a near-semiring with commutative multiplication. We intro...
We consider the language of "extended subsitutions" involving both angelic and demonic choice. For o...
Abstract. We propose an extension of the join-calculus with pattern matching on algebraic data types...
A series of list appends or monadic binds for many monads per-forms algorithmically worse when left-...
Abstract. Modern challenges led to a design of a wide range of programming models for reactive, para...
Monad comprehensions have an interesting history. They were the first syntac-tic extension for progr...
National audienceMonadic programming is a popular way to embed effectful computations in purely func...
Over the past two decades the notion of a strong monad has found wide applicability in comput-ing. A...
Monoids are one of the simplest theories in which we can compose elements of a set. Similarly, monad...
Monads are a popular tool for the working functional programmer to structure effectful computations....
This thesis studies various manifestations of monads in the mathematics of computation and presents ...
In functional programming, a popular approach to building recursive descent parsers is to model pars...
Monads are a useful abstraction of computation, as they model diverse computational effects such as ...
Monads are a popular tool for the working functional programmer to structure effectful computations....
Bulk types such as sets, bags, and lists are monads, and therefore support a notation for database q...
Monads have become a popular tool for dealing with computational effects in Haskell for two signific...
We consider the language of "extended subsitutions" involving both angelic and demonic choice. For o...
Abstract. We propose an extension of the join-calculus with pattern matching on algebraic data types...
A series of list appends or monadic binds for many monads per-forms algorithmically worse when left-...
Abstract. Modern challenges led to a design of a wide range of programming models for reactive, para...
Monad comprehensions have an interesting history. They were the first syntac-tic extension for progr...
National audienceMonadic programming is a popular way to embed effectful computations in purely func...
Over the past two decades the notion of a strong monad has found wide applicability in comput-ing. A...
Monoids are one of the simplest theories in which we can compose elements of a set. Similarly, monad...
Monads are a popular tool for the working functional programmer to structure effectful computations....
This thesis studies various manifestations of monads in the mathematics of computation and presents ...
In functional programming, a popular approach to building recursive descent parsers is to model pars...
Monads are a useful abstraction of computation, as they model diverse computational effects such as ...
Monads are a popular tool for the working functional programmer to structure effectful computations....
Bulk types such as sets, bags, and lists are monads, and therefore support a notation for database q...
Monads have become a popular tool for dealing with computational effects in Haskell for two signific...
We consider the language of "extended subsitutions" involving both angelic and demonic choice. For o...
Abstract. We propose an extension of the join-calculus with pattern matching on algebraic data types...
A series of list appends or monadic binds for many monads per-forms algorithmically worse when left-...