Program logic can often be structured using abstract computation types such as monoids, monad transformers or applicative functors. Functional programmers use those abstractions directly while main-stream languages often integrate concrete instances as language features – e.g. generators in Python or asynchronous computations in C# 5.0. The question is, is there a sweet spot between convenient, hardwired language features, and an inconvenient but flexible libraries? F# computation expressions answer this question in the affirmative. Unlike the “do” notation in Haskell, computation expressions are not tied to a single kind of abstraction. They support a wide range of abstractions, depending on what operations are available. F# also provid...
International audienceWe present a new, completely redesigned, version of F*, a language that works ...
Proving properties about effectful programs is hard. New application-specific abstractions based on ...
AbstractThe powerful abstraction mechanisms of functional programming languages provide the means to...
Abstract. Many computations can be structured using abstract com-putation types such as monoids, mon...
Abstract. Many programming problems can be eas-ily solved if we express them as computations with so...
ABSTRACT Computation types such as functors, applicative functors and monads have become common abst...
Computation types such as functors, applicative functors and monads have become common abstractions ...
This paper explores the use monads to structure functional programs. No prior knowledge of monads or...
AbstractWe use multi-stage programming, monads and Ocaml’s advanced module system to demonstrate how...
Writing concurrent programs in languages that lack explicit support for concurrency can often be awk...
A monad is presented which is suitable for writing concurrent programs in a purely functional progra...
This paper presents a new FD-specific modeling front-end for the Monadic Constraint Programming fram...
In the world of programming, there are many kinds of languages from which to choose. These varied la...
Dotty-cps-async is an open-source package that consists of scala macro, which implements generic asy...
Monadic programming is an essential component in the toolbox of functional programmers. For the pure...
International audienceWe present a new, completely redesigned, version of F*, a language that works ...
Proving properties about effectful programs is hard. New application-specific abstractions based on ...
AbstractThe powerful abstraction mechanisms of functional programming languages provide the means to...
Abstract. Many computations can be structured using abstract com-putation types such as monoids, mon...
Abstract. Many programming problems can be eas-ily solved if we express them as computations with so...
ABSTRACT Computation types such as functors, applicative functors and monads have become common abst...
Computation types such as functors, applicative functors and monads have become common abstractions ...
This paper explores the use monads to structure functional programs. No prior knowledge of monads or...
AbstractWe use multi-stage programming, monads and Ocaml’s advanced module system to demonstrate how...
Writing concurrent programs in languages that lack explicit support for concurrency can often be awk...
A monad is presented which is suitable for writing concurrent programs in a purely functional progra...
This paper presents a new FD-specific modeling front-end for the Monadic Constraint Programming fram...
In the world of programming, there are many kinds of languages from which to choose. These varied la...
Dotty-cps-async is an open-source package that consists of scala macro, which implements generic asy...
Monadic programming is an essential component in the toolbox of functional programmers. For the pure...
International audienceWe present a new, completely redesigned, version of F*, a language that works ...
Proving properties about effectful programs is hard. New application-specific abstractions based on ...
AbstractThe powerful abstraction mechanisms of functional programming languages provide the means to...