A multi-tier semantics for Hop

  • Authors:
  • Manuel Serrano;Christian Queinnec

  • Affiliations:
  • INRIA/Sophia-Antipolis, Sophia Antipolis, France 06902;UPMC/LIP6, Paris, France 75252

  • Venue:
  • Higher-Order and Symbolic Computation
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Hop is a multi-tier programming language where the behavior of interacting servers and clients are expressed by a single program. Hop adheres to the standard web programming style where servers elaborate HTML pages containing JavaScript code. This JavaScript code responds locally to user's interactions but also (following the so-called Ajax style) requests services from remote servers. These services bring back new HTML fragments containing additional JavaScript code replacing or modifying the state of the client.This paper presents a continuation-based denotational semantics for a sequential subset of Hop. Though restricted to a single server and a single client, this semantics takes into account the key feature of Hop namely that the server elaborates client code to be run in the client's browser. This new client-code dynamically requests services from the server which, again, elaborate new client code to be run in the client's browser.This semantics details the programming model advocated by Hop and provides a sound basis for future studies such as security of web applications and web continuations.