Servant is a library for writing routing tables on the type level. It is commonly used for micro-services and for delivering json data to single-page apps, but it is possible to use it for delivering web pages and forms, and build a low- or no-js web application with it. Aula [0, 1] is such a web application. It is based on servant for request processing, lucid (a sibling package of blaze) for html content rendering, and digestive-functors for web form processing. Sticking these parts together proved both non-trivial and very rewarding. Benefits are clear separation between application logic, html rendering, form data validation, and tedious details like authentication or CSRF token handling. Aula is AGPL. We plan to release parts of the code as general-purpose libraries. In this talk, you will explore pieces of code and see how this feels to the application developer.
YOU MAY ALSO LIKE:
- Well-Typed's Fast Track to Haskell (in London on 8th - 9th October 2018)
- Well-Typed's Guide to the Haskell Type System (in London on 10th October 2018)
- HaskellX2gether Community Day 2018 (in London on 13th October 2018)
- Well-Typed's Guide to Haskell Performance and Optimization (in London on 15th - 16th October 2018)
Building web application with servant, lucid, and digestive-functors
Andor is a Haskell developer and enthusiast, interested in theoretical computer science, he has industrial experience with functional and object oriented programming, QA engineering, learns dependently typed programming and playing the hangdrum. Andor has recently revived his interest in compiler construction.
Matthias is a software developer and consultant. Exclusive focus on Haskell since 2015.