Николай Иваныч (nivanych) wrote in category_theory,
Николай Иваныч

Free Applicative Functors

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.
  • Post a new comment


    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.