Haskell offers many choices to work with web programming. The most popular choices are listed here:
- Yesod (http://www.yesodweb.com/)
- Happstack (http://www.happstack.com/)
- Snap (http://snapframework.com/)
Because of the modularity and compositional nature of Haskell, it is possible to easily use many libraries, including parts of web frameworks with other web frameworks, interoperably. In addition to this, the Web Application Interface (WAI) https://hackage.haskell.org/package/wai, allows for the sharing of code among different web frameworks with minimal changes.
In this chapter, we will primarily work with Snap Framework. A Snap Framework consists of reusable blocks called snaplets. It is possible to compose snaplets together to create a web application. In this chapter, we will start with a Snap application generated from Snap templates. In later recipes, we...