Please log in to watch this conference skillscast.
Finch is a purely-functional library for building composable REST APIs on top of Finagle.
It's well known and widely adopted in Finagle that "Your Server as a Function" uses
Request => Response. In a REST API setting this function may be viewed as
Request =1=> (A =2=> B) =3=> Response, where transformation 1 is request decoding (deserialization), transformation 2 -is business logic and transformation, and transformation 3 is- response encoding (serialization).
The only interesting part here is transformation 2 (i.e.,
A => B). Since it's usually a challenge to deal with pure functions in real-world problems, we wrap this into a monad M[_], so that a transformation (i.e,
flatMap) M[A] => M[B] encodes the business logic of a REST API server.
This and other ideas are implemented in Finch, a purely-functional library for building composable REST APIs on top of Finagle.
Read about Your Server as a Function here.
YOU MAY ALSO LIKE:
- Tensorflow & Firebase Hacknight (in London on 3rd September 2018)
- ProgNET London 2018 (in London on 12th - 14th September 2018)
- Fast Track to RESTful Microservices (in London on 29th - 31st October 2018)
- Kubernetes: Master Application Deployment and Scaling with Daniele Polencic (in London on 13th - 14th December 2018)
Finch: Your REST API as a Monad
Vladimir started his software engineering career working on compilers and virtual machines at Intel. After several years of writing C++, he decided to switch camps and joined the Finagle team at Twitter.