Ocsigen

Ocsigen

Ocsigen is a Web application framework based on concepts derived from recent research in the field of programming languages, namely that of continuation-based web programming. It is developed in OCaml, which is also the target language for users of this framework.

Ocsigen is composed of the following components:

  • A complete and extensible Web server, supporting features such as CGI, a reverse proxy, data compression, and access control. Extensions for this server may be written in Ocaml.
  • A module named Eliom for the creation of dynamic web sites using high-level abstractions. Its goal is to allow the implementation of complex behaviour using only a handful of lines, while ensuring correctness thanks to strong static typing. In particular, programmers may choose a page generation mode which enforces the output to comply with the recommendations of the W3C. This feature relies heavily on the strong static typing features of the OCaml language. Eliom allows for the entire application (both server side and client side) to be written in OCaml; compiling part of the code to JavaScript so as to be executed inside a Web Browser. Client-server bidirectional communication is abstracted away by Eliom. Data exchange between client and server is facilitated by the fact that both are implemented using the same programming language and therefore the same data types.

Ocsigen uses the Lwt cooperative threading library in order to handle concurrency.

The word Ocsigen is a homophone of the French Oxygène (the chemical element Oxygen). Similarly, Eliom is a homophone of Hélium (the chemical element Helium).

See also

  • OCaml, the programming language used by Ocsigen
  • Seaside, a Web application framework for Smalltalk which is also continuation-aware

External links


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • Ocsigen — Développeur L équipe Ocsigen …   Wikipédia en Français

  • Comparison of web application frameworks — This is a comparison of notable web application frameworks. Contents 1 General 1.1 Perl 1.2 PHP 1.3 Java 1.4 Python …   Wikipedia

  • Сравнение каркасов веб-приложений — Это сравнительная таблица фреймворков веб приложений. Содержание 1 Фреймворки 1.1 ASP.NET 1.2 C++ 1.3 ColdFusion Markup Language (CFML) …   Википедия

  • Continuation — For other uses, see Continuation (disambiguation). In computer science and programming, a continuation is an abstract representation of the control state of a computer program. A continuation reifies the program control state, i.e. the… …   Wikipedia

  • Langage De Programmation — Un langage de programmation est un langage informatique, permettant à un être humain d écrire un code source qui sera analysé par une machine, généralement un ordinateur. Le code source subit ensuite une transformation ou une évaluation dans une… …   Wikipédia en Français

  • Langage de programmation — Programme écrit en Perl. Programm …   Wikipédia en Français

  • Langages de programmation — Langage de programmation Un langage de programmation est un langage informatique, permettant à un être humain d écrire un code source qui sera analysé par une machine, généralement un ordinateur. Le code source subit ensuite une transformation ou …   Wikipédia en Français

  • OCaml — Objective Caml Apparu en 1987 (CAML), 1996 (OCaml) Développeur INRIA Dernière version stable …   Wikipédia en Français

  • Objective Caml — Apparu en 1987 (CAML), 1996 (OCaml) Développeur INRIA Dernière version stable 3.11.1 (le 12  …   Wikipédia en Français

  • Ocaml — Objective Caml Apparu en 1987 (CAML), 1996 (OCaml) Développeur INRIA Dernière version stable 3.11.1 (le 12  …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”