arXiv · 1403.0749
Free Applicative Functors
Abstract
Applicative functors are a generalisation of monads. Both allow the expression of effectful computations into an otherwise pure language, like Haskell. Applicative functors are to be preferred to monads when the structure of a computation is fixed a priori. That makes it possible to perform certain kinds of static analysis on applicative values. We define a notion of free applicative functor, prove that it satisfies the appropriate laws, and that the construction is left adjoint to a suitable forgetful functor. We show how free applicative functors can be used to implement embedded DSLs which can be statically analysed.
Explore related subjects
Keep this discovery
Paolo Capriotti, Ambrus Kaposi. 2014-06-09. Free Applicative Functors. https://doi.org/10.4204/eptcs.153.2
Cite the original work for its findings. Save a collection to share your selection of sources.