Free applicative functors
From MaRDI portal
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.
Recommendations
Cited in
(7)- Constructing Applicative Functors
- Asymptotic Improvement of Computations over Free Monads
- Notions of computation as monoids
- Build systems à la carte: theory and practice
- A representation theorem for second-order functionals
- Breadth-first traversal via staging
- Structured monads for generic first-order syntax metatheory
This page was built for publication: Free applicative functors
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q4995159)