About Ocsigen (Eliom, Js_of_ocaml, etc.)



Ocsigen is a complete framework for Web and mobile developement in OCaml.

Use tag ocsigen for all Ocsigen-related discussions on this site.

Ocsigen consists of several mostly independant projects:

  • Js_of_ocaml: a compiler from OCaml to Javascript
  • Eliom: the most advanced multi-tier framework, for developing multi-platform Web and mobile apps
  • Tyxml: a library for building statically correct HTML5 and SVG documents
  • Lwt: a cooperative threading library for client or server concurrent computing
  • Server: a full featured extensible Web server
  • Toolkit: a widget library for client or client-server apps
  • Start: an application template written with Eliom, Js_of_ocaml, Ocsigen Toolkit, etc. It contains many standard features like user management, notifications, and many code examples.

Eliom transforms OCaml or Reason into a multi-tier language:
It makes it possible to write modern distributed applications fully in OCaml, for both the server and client parts, which simplifies a lot the communication between server and client. Applications are written as single programs that can run on any Web browser or mobile device (iOS, Android), saving from the need to develop one version for each platform.

Eliom has support for reactive pages (generated on server or client), advanced session mechanism, server to client communication, continuation based Web programming, etc.

The Ocsigen project started in 2004 as a research project of CNRS, university Paris Diderot, and received funding from the ANR and Inria, and is hosted by IRILL (Initiative de Recherche et Innovation sur le Logiciel Libre, Inria, univ. Pierre et Marie Curie, univ. Paris Diderot). It is now developed mainly by IRIF (Institut de Recherche en Informatique Fondamentale - CNRS, univ. Paris Diderot), and Be Sport, which is developing its Web and mobile apps with Ocsigen,
and many external contributors (from Jane Street Capital, etc.)

(WIP) Frequently Asked Questions


the Ocsigen category has been replaced by a tag instead and this post is linked to from the central FAQ.

Would you like to edit the original post here to direct users to the ocsigen tag? Alternatively, we can also turn this topic into a wiki page that makes it editable by other users to make it easier to maintain the list of resources above.