Lightweight Declarative Server-Side Web Programming

by Michael Hanus

Proc. of the 23rd International Symposium on Practical Aspects of Declarative Languages (PADL 2021), Springer LNCS 12548, pp. 107-123, 2021

Web interfaces are an important part of many applications but their implementation is full of pitfalls due to the client/server nature of web programming. This paper presents a lightweight approach to web programming based on a standard infrastructure, in particular, the common CGI protocol between client and server. No specific additions are necessary on the server side. Our approach exploits declarative programming features to provide a high-level API for server-side web scripting. This API allows to check many programming errors at compile time by using functional (static typing, higher-order functions) as well as logic (free variables) programming features. Together with further abstractions, like session handling, persistence, and typeful database access, it is used for non-trivial web applications.

Preprint (PDF) BibTeX-Entry Online