Skip to Main content Skip to Navigation

Programmation Web Typée

Benjamin Canou 1
1 APR - Algorithmes, Programmes et Résolution
LIP6 - Laboratoire d'Informatique de Paris 6
Abstract : The goal of this thesis is to contribute to make Web programming safer and more flexible than it is in the solutions prevalent today. To achieve this goal, we propose a solution based on the ML language family, which brings freedom to the programmer by its multi-paradigm aspect, while providing an important level of safety thanks to static typing. In the first part, we show that it is possible to program the browser without sticking to the style of JavaScript. Our solution is OBrowser, an OCaml virtual machine in JavaScript. The implementation supports the whole OCaml language and its library, including the preemptive concurrency model. We additionaly present a mechanism for inter-operability between the object layers of JavaScript and OCaml, that allows to use the browser's API in a type-safe way, using OCaml objects. In the second part, we give an API for document manipulations, designed to be safer and more high-level than the browser's DOM. In particular, we aim at eliminating the implicit moves performed by the DOM to maintain the tree structure, and which limit the possibilities of static typing. First, we give fDOM, a minimal formal model similar to the DOM. then, we propose cDOM, an alternative model in which moves are replaced by copy operations. We then describe FidoML, a language based on ML equiped with document manipulation features, that are well typed thanks to the use of cDOM. throughout this part, we make a special effort to design solutions flexible enough to be used in languages other than ML. In the third and final part, we show how the work, so far presented in the context of the browser, can be applied to a multi-tier model. First, we give an overview of related multi-tier research platforms. In particular we describe the solutions they provide to a selected set of language aspects specific to Web programming. then, we conclude by giving the outline of a multi-tier language, that uses the work the first two parts to built solutions to these language aspects.
Complete list of metadatas

Cited literature [4 references]  Display  Hide  Download
Contributor : Benjamin Canou <>
Submitted on : Sunday, November 13, 2011 - 3:33:31 PM
Last modification on : Friday, January 8, 2021 - 5:32:06 PM
Long-term archiving on: : Friday, November 16, 2012 - 10:45:58 AM


  • HAL Id : tel-00640566, version 1


Benjamin Canou. Programmation Web Typée. Langage de programmation [cs.PL]. Université Pierre et Marie Curie - Paris VI, 2011. Français. ⟨tel-00640566⟩



Record views


Files downloads