Week 5

WIG and CGI


    1. Every time a CGI script is invoked to produce a dynamic HTML page, the script is executed in a new process. What impact does this have on the way in which state can be persisted over multiple queries or sessions? Can a CGI script persist such state on the stack or heap? If not, why not and what are possible solutions?
    2. Educate yourself about programming languages that support the use of Continuations (or here) and Continuation-passing style.
      • Which problem do continuations try to solve?
      • What are examples of programming languages supporting continuations?
      • Why may the support for continuations in such languages not be "good enough" in the case where the conintuation-using code is invoked via CGI? (the answer lies in Question 1)
      Note: This question is meant give you some meaningful background knowledge. It is not the kind of question we would ask in an exam.
    3. There are several programming-language features missing from WIG. For example, there are no objects or pointers, only structs of primitive types. Functions can be recursive but sessions cannot. Only sessions can "Show" HTML code (i.e. send HTML to the client and yield), functions cannot. These limitations are by design. In the light of question 1, why do these limitations make the implementation of the WIG language easier than it would have been, had the respective feature been supported?

Maintained by Eric Bodden. [HOME]