Automatically Restructuring Programs for the Web

@article{Matthews2004AutomaticallyRP,
  title={Automatically Restructuring Programs for the Web},
  author={Jacob Matthews and R. Findler and P. Graunke and S. Krishnamurthi and M. Felleisen},
  journal={Automated Software Engineering},
  year={2004},
  volume={11},
  pages={337-364}
}
This paper explains how to automatically transform a batch program into a standard CGI program. The transformation preserves the program's behavior even if consumers use the back button or the window-cloning facilities of their Web browsers. The paper demonstrates the workings of the transformation for both Scheme and C programs and discusses how it applies to any full-fledged programming language. 
The CONTINUE Server (or, How I Administered PADL 2002 and 2003)
TLDR
The plt Scheme application Continue is described, which automates many conference paper management tasks and is a prime target of opportunity for sophisticated declarative programming languages. Expand
Generic Editors for the World Wide Web
TLDR
A novel toolkit to program web applications that have dynamic, complex behavior based on interconnect forms that allows programmers to create web applications on a level of abstraction that is comparable with ‘ordinary’ functional style programs. Expand
Programming Language Features for Web Application Development
Web programming remains difficult, even with cutting-edge libraries, because the execution model of the web environment is essentially different from the classic models. Unlike a batch program whichExpand
Verifying interactive Web programs
TLDR
This work describes a model checker designed to identify errors in Web software, and presents a technique for automatically generating novel models of Web programs from their source code, including the additional control flow enabled by these user operations. Expand
Verifying interactive Web programs
TLDR
This work describes a model checker designed to identify errors in Web software, and presents a technique for automatically generating novel models of Web programs from their source code, including the additional control flow enabled by these user operations. Expand
Continuations and Web Servers
  • C. Queinnec
  • Computer Science
  • High. Order Symb. Comput.
  • 2004
TLDR
The use of continuations in the context of web applications, the problems they solve as well as some new problems they introduce are discussed. Expand
Modeling web interactions and errors
TLDR
The growing diversity of browsers means the number of interactive operations users can perform continues to grow, and the total number of interactions a user can perform through Web browsers is likely to grow. Expand
Program Transformation for Web Application Restructuring
TLDR
This chapter aims at providing a presentation of the principles and techniques involved in the (semi-)automatic transformation of Web applications, in several different restructuring contexts, and the problems associated with the analysis of the multiple languages used with Web applications are discussed. Expand
Developing Interactive Web Programs
  • M. Felleisen
  • Computer Science
  • Advanced Functional Programming
  • 2002
TLDR
These lecture notes explain how to overcome many of the problems of developing interactive Web programs with a mostly functional programming style that composes scripts via (hidden) first-class continuations. Expand
The two-state solution: native and serializable continuations accord
TLDR
This work presents a modular program transformation that allows scalable Web applications to use third-party, higher- order libraries with higher-order arguments that cause Web interaction that provides existing Web applications with more scalability through significantly less memory use than the traditional technique. Expand
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 115 REFERENCES
Principles of program design
TLDR
This book is about programming for data processing applications, and its purpose is to present a coherent method and procedure for designing systems, programs, and components that are transparently simple and self-evidently correct. Expand
A Runtime System for Interactive Web Services
TLDR
This work presents ideas for an improved runtime system for interactive Web services built on top of CGI running on virtually every combination of browser and HTTP/CGI server. Expand
Revised4 report on the algorithmic language scheme
The report gives a defining description of the programming language Scheme. Scheme is a statically scoped and properly tail-recursive dialect of the Lisp programming language invented by Guy LewisExpand
Revised5 Report on the Algorithmic Language Scheme
Revised5 report on the algorithmic language scheme
The report gives a defining description of the programming language Scheme. Scheme is a statically scoped and properly tail-recursive dialect of the Lisp programming language invented by Guy LewisExpand
Essentials of programming languages
TLDR
This text focuses on the principles of the design and implementation of programming languages and the language SCHEME, a dialect of LISP, is used to demonstrate abstraction and representation. Expand
Programming languages as operating systems (or revenge of the son of the lisp machine)
The MrEd virtual machine serves both as the implementation platform for the DrScheme programming environment, and as the underlying Scheme engine for executing expressions and programs entered intoExpand
Units: cool modules for HOT languages
TLDR
This paper presents models of program units, MzScheme's module language for assembly-line programming, that support separate compilation, independent module reuse, cyclic dependencies, hierarchical structuring, and dynamic linking. Expand
Compiling with Continuations
TLDR
This book shows how continuation-passing style is used as an intermediate representation to perform optimizations and program transformations to create practical optimizing compilers for modern languages like ML. Expand
Transparent migration of Java-based mobile agents: Capturing and re-establishing the state of Java programs
TLDR
A way to save and restore the state of a running Java program is described on the language level, without modifying the Java virtual machine, by instrumenting the programmer's original code with a preprocessor. Expand
...
1
2
3
4
5
...