Linking Theory to Practice for the Web.

Project Details

Key findings

Links is a new programming language designed to make programming web applications easier.
A typical web application involves three "tiers": part of the program runs on the client's machine in the web browser, part runs on a web server, and part runs in back-end database. To create such a program, the programmer must master a myriad of languages: the client code is written in HTML and Javascript, the server code is written in Java, Python, or Perl, and the database code is written in SQL or XQuery. There is no easy way to link these, for example, to be sure that an HTML form on the client or an SQL query to the database produces the type of data that the server expects. This is called the impedance mismatch problem.
Links solves the impedance mismatch problem by using code written in a single programming language for all three tiers: Links code compiles to Javascript to run on the client, is interpreted on the server, and compiles to SQL to run on the database. We developed Formlets to ease writing of HTML forms, and a unique type-and-effect system to manage generation of SQL.
Effective start/end date1/12/0531/01/09


  • EPSRC: £306,154.00