2000 character limit reached
Free Applicative Functors
Published 4 Mar 2014 in cs.PL and math.CT | (1403.0749v3)
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.
Paper Prompts
Sign up for free to create and run prompts on this paper.