WIG and CGI
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?
Educate yourself about programming languages that support the use of
Continuations (or here)
and Continuation-passing style.
Note: This question is meant give you some meaningful background knowledge. It is not the kind of
question we would ask in an exam.
- 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)
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?