Please log in to watch this conference skillscast.
At Silk, we have an external REST API that people can use to interact with our product. We also have internal services that talk to each other using REST APIs. These all follow a similar structure: there are resources (users, pages), and actions to perform on them (list, get, update, delete). For each API, we also need clients in different languages, and documentation. To build all these APIs, we've written a set of libraries, which we've recently open sourced.
In this talk, I will explain how these rest libraries work. I'll show how APIs are built, how they are run using different web frameworks, and how you can generate API clients and documentation from them. I will detail some of the design choices, like the choice of existentials in resources, and the use of GADTs holding dictionaries for input and output. Additionally, I'll show some possible future directions for the libraries, providing greater extensibility as well as type safety.
YOU MAY ALSO LIKE:
Rest - Building APIs Easily
Erik currently works at Silk, where he uses functional programming to build a web application to create and visualize structured data. After his physics and chemistry masters, Erik started working at a small software company building CMS and websites. Wanting to deepen his knowledge of the field, he embarked on a software technology master at Utrecht University. Many courses used Haskell, and he immediately fell in love with the elegance of functional programming. After graduating, he joined what is now Silk.