From Fedora Project Wiki

< Features

Revision as of 11:17, 23 January 2012 by Matbd (talk | contribs) (User Experience)

Opa 0.9


Provides the Opa compiler, version 0.9.x (beta).


Current status

  • Targeted release: Fedora 17
  • Last updated: 2012-01-22
  • Percentage of completion: 90%

Detailed Description

Opa is a unified programming language designed to build rich Web applications in an agile and secure way. This package allows one to compile Opa programs into self-contained executable binaries. It is provided under the terms of the Affero-GPL licence v3.

Extended documentation on the language Opa is available on the project page, including a feature tour, a reference manual and the programming APIs.

Benefit to Fedora

This package makes the Opa platform easily available to Fedora users.


The package is almost ready for shipping. Our next steps can be listed as follows:

  • submit a first package candidate of Opa for testing and validation (bugzilla ticket filled)
  • find a Fedora sponsor
  • possibly fix packaging bugs
  • choose and submit a stable package for Fedora 17 among the versions 0.9.x of Opa.

How To Test

We carry extensive testing on the compiler every night and additional functional tests to prepare stable releases. Our testing platform is not available (yet) in opensource. Yet, building the library and compiling example programs from the documentation should provide a good testing coverage.

User Experience

The Opa compiler is available as a standard command-line tool. Emacs and vim mode are included in the package. We currently seek community support for our Eclipse plugin.

Beginners in web programming should especially appreciate the simplicity to code and run web applications in a few lines of code. Here is our Hello world:

Server.start(Server.http, { page: function() {


}, title: "Hello" })

to be compiled with "opa -parser js-like hello.opa"


This package does not depend on the completion of other packages (anymore).

Dependencies (as currently specified in the .spec file) are as follows:

  • source build

chrpath, glibc, gdbm, openssl, zlib, libjpeg-turbo, libpng, giflib ocaml, ocaml-camlp4, ocaml-findlib ocaml-ssl-devel ocaml-cryptokit-devel ocaml-ulex-devel, ocaml-zip-devel, ocaml-ocamlgraph-devel java-1.7.0-openjdk

  • compiler and runtime libraries:

glibc, gdbm, openssl, zlib, libjpeg-turbo, libpng, giflib ocaml, ocaml-camlp4, ocaml-ssl, ocaml-cryptokit, ocaml-ulex, ocaml-zip, ocaml-ocamlgraph

Contingency Plan

We are not aware of other features depending on Opa (yet!).


See the project page for offline and online documentation.

The source code of the Opa platform (mostly in Ocaml) is available on github under license AGPLv3.

Release Notes

  • Fri Jan 13 2011 Rudy Sicard <>

- Initial Fedora package

Comments and Discussion