Programming Language Features for Web Application Development

Ezra Cooper · 2009

Web programming remains difficult, even with cutting-edge libraries, because the execution model of the web environment is essentially different from the classic models. Unlike a batch program which sits between input and output streams, a web program sits between user activity in the browser and serverside resources such as a database. Furthermore the use of URLs as durable entry points to an application makes the environment fundamentally concurrent and re-entrant, a challenge and opportunity for supporting web programmers. This thesis makes four principal contributions to the technology for expressing web applications. First, it describes the features of Links, a new programming language with a unified model of the web environment, encompassing client and server. Among other things, the Links compiler can slice the program, generating JavaScript to run on the client and other code to run on the server, so that they interact transparently. To allow programmers to control the location of code, Links offers syntactic client and server annotations. The second contribution is a formal semantics of these client/server annotations, in the form of an

Read the paper · More papers on PaperTik