Skip to Main Content
Hands-On Reactive Programming with Clojure - Second Edition
book

Hands-On Reactive Programming with Clojure - Second Edition

by Konrad Szydlo, Leonardo Borges
January 2019
Intermediate to advanced content levelIntermediate to advanced
298 pages
7h 46m
English
Packt Publishing
Content preview from Hands-On Reactive Programming with Clojure - Second Edition

Applicative functors

Like functors, applicative functors are a sort of container, and they define two operations:

(defprotocol Applicative 
  (pure [av v]) 
  (fapply [ag av])) 

The pure function is a generic way to put a value inside of an applicative functor. So far, we have been using the option helper function for this purpose. We will be using it a little later.

The fapply function will unwrap the function contained in the applicative ag, and will apply it to the value contained in the applicative av.

The purpose of both of the functions will become clear with an example, but first, we need to promote our option functor to an applicative functor, as follows:

(extend-protocol fkp/Applicative Some (pure [_ v] (Some. v)) (fapply [ag av] (if-let ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Clojure Programming

Clojure Programming

Chas Emerick, Brian Carper, Christophe Grand
Clojure in Action, Second Edition

Clojure in Action, Second Edition

Amit Rathore, Francis Avila
Programming Clojure, 2nd Edition

Programming Clojure, 2nd Edition

Stuart Halloway, Aaron Bedra

Publisher Resources

ISBN: 9781789346138Supplemental Content