INSTITUT

FU Berlin, Fachbereich Mathematik und Informatik, Institut für Informatik

Vortrag des Informatik-Kolloquiums



 

                   Type-Safe Server-Side Web Scripting    

                                          

Prof. Dr. Peter Thiemann, Leiter des Arbeitsbereichs Programmiersprachen, Institut für Informatik,

Fakultät für Angewandte Wissenschaften, Universität Freiburg

 

WASH/CGI is an embedded domain-specific language for server-side Web-scripting. Due to its reliance on the strongly typed, purely functional
programming language Haskell as a host language, it is highly flexible and ---at the same time--- it provides extensive guarantees due to its pervasive use of type information.

WASH/CGI can be structured into a number of sublanguages addressing different aspects of the application. The document sublanguage provides tools for the
generation of parameterized XHTML documents and forms. Its typing guarantees that almost all generated documents are valid XHTML documents.
The session sublanguage provides a session abstraction that provides a transparent notion of session state and allows the composition of documents and Web-forms to entire interactive scripts. Both are integrated with the widget sublanguage which describes the communication (parameter passing) between client and server. It imposes a simple type discipline on the parameters that guarantees that forms posted by the client are always understood by the server. That is, the server never asks for data not submitted by the client and the data submitted by the client has the type requested by the server. In addition, parameters are received in their typed internal representation, not as strings.
Finally, the persistence sublanguage deals with managing shared state on the server side as well as individual state on the client side. It presents shared state as an abstract data type, where the script can control whether it wants to observe mutations due to concurrently executing scripts. It guarantees that states from different interaction threads cannot be confused.

 
 


[ home ] [ search ] [ up
webmaster@inf.fu-berlin.de