
Pardon me to hijack this thread, but I have an idea to build a different kind of Web Framework and am not sure if somebody has already done it. The idea is to take REST further: every HTML page you see is a program in its running state (as a continuation monad). Each click on its link or form submission is seen as feeding data to resume its continuation. So instead of writing a server-side program that responds to many CGI calls, you write a single ordinary program that describe the application logic, which during its execution gets represented as a HTML page and interpreted by the server. The server is then very much like a VM or an interpreter of an embedded language, with execution stacks entirely encoded and stored in each HTML page sent to the user and back from the user as an encoded URL or form data. So the server is entirely stateless. Besides providing scalability, the main advantage of this framework is that web program can be written in a natural way which total ignores stuffs like HTTP/CGI, protocol, session, client-server, etc, etc. Its compiler or interpreter will figure out what part of the program data (e.g. the code, the static environment) resides on the server side, and what part is encoded into the HTML pages (e.g., the heap, the dynamic environment). Does such a beast exist or am I entirely day dreaming?