Applicative programming with effects

Mcbride, Conor and Paterson, Ross (2008) Applicative programming with effects. Journal of Functional Programming, 18 (1). pp. 1-13. ISSN 0956-7968 (https://doi.org/10.1017/S0956796807006326)

Full text not available in this repository.Request a copy

Abstract

In this article, we introduce Applicative functors – an abstract characterisation of an applicative style of effectful programming, weaker than Monads and hence more widespread. Indeed, it is the ubiquity of this programming pattern that drew us to the abstraction. We retrace our steps in this article, introducing the applicative pattern by diverse examples, then abstracting it to define the Applicative type class and introducing a bracket notation that interprets the normal application syntax in the idiom of an Applicative functor. Furthermore, we develop the properties of applicative functors and the generic operations they support. We close by identifying the categorical structure of applicative functors and examining their relationship both with Monads and with Arrow.