Take a look at the following Scheme-based software development kit for web applications, HOP (go to the “Demos” tab to have a quick overview).
HOP is a new higher-order extension to the Scheme programming language especially designed to build highly interactive web applications such as web agendas, web galleries, music players, games, etc. It provides simple yet expressive means to cope with the distributed nature of such applications - where logic and GUIs normally run on different environments - preventing the programmers from having to use a bunch of different languages.
Using HOP, web applications gain significantly in simplicity. Still, there is a number of open issues that need to be further explored: One of them is support for context awareness in web applications. Context can be parameters like user preferences, the platform a web application is running on, the location of the user, and so on. The increasing demand for highly customizable services and the upraising of new and diverse mobile and embedded hardware technology makes this context-dependent adaptability a crucial property for web applications.
At the PROG lab, we actively investigate several language extensions that facilitate the modeling of dynamic context-dependent behavioral adaptations in programs. Hence our interest in this proposal to combine this effort - called Context-Oriented Programming (COP) - with HOP. We believe that the rationale behind these two approaches will converge into a simple, expressive and flexible framework for context-dependent web applications.
The goal of this thesis proposal is two-fold: