A SkillsCast for this session is not available.
Many, many services on the internet provide APIs that are RESTful. They use HTTP and JSON, widely supported technologies, to give a standard way of accessing whatever each service provides - from uploading adverts on Facebook to plugging a bot into a Slack channel.
In this entirely hands-on tutorial, participants will build such a service using established Haskell libraries, to provide a very simple booking system accessible through a JSON+HTTP API.
This introductory level session will not require much experience in
Haskell at all, but by the end, participants should walk away with a working system built using common libraries such as
servant for providing typed web APIs, and
aeson for JSON, with a touch of generics and software transactional memory.
Depending on time and interest, the session might cover optional topics such as serving other content types (for example, HTML or CSV), approaches to storing bookings persistently, or what's actually going on with some of the more interesting type signatures that will be used.
Participants will require a laptop with
stack and some other pre-requisites installed, and connectivity to the Skills Matter wifi. A guide to getting the prerequisites installed will appear here before the workshop.
A guide to installing the prerequisites can be found at github.com/benclifford/hx2018-prereq
YOU MAY ALSO LIKE:
- Park Bench Panel (SkillsCast recorded in October 2019)
- The Secrets of the GHC Garbage Collector (in Online Event on 11th June 2020)
- Lightning Talk: Making and Testing Code Generators in Haskell (SkillsCast recorded in October 2019)
- Functional Lenses Through a Practical Lens (SkillsCast recorded in October 2019)
Workshop: Build a RESTful Room-Booking Server Using Servant and Aeson
Ben's career has spanned supercomputing, distributed systems, and programming languages, and taken him all across the world from Los Angeles to Johannesburg. Most recently he has been based in London taking Haskell work where he can find it.