This is Learn-OCaml, a platform for learning the OCaml language, featuring a Web toplevel, an exercise environment, and a directory of lessons and tutorials.

A demo is available online.

CI macOS learn-ocaml learn-ocaml-client



To ask any question about how to use Learn-OCaml, subscribe to the mailing-list learn-ocaml-club.

To discuss about the development of Learn-OCaml, subscribe to the mailing-list learn-ocaml-dev.

Unless explicitly written below or in the files themselves, the source code for the app, images, static files, course content and exercises are placed under the MIT license.

Lightly modified third party components ACE and ppx_metaquot are included, under their original licenses (respectively BSD and MIT).

The OCamlPro logo images are (c) OCamlPro. Redistribution is permitted, alteration requires prior written authorization by OCamlPro.

The OCaml / ocaml.org logo is released under the very liberal UNLICENSE. See https://github.com/ocaml/ocaml.org/blob/master/LICENSE.md.

The Inconsolata font is released under the Open Font License. See http://www.levien.com/type/myfonts/inconsolata.html.

The Biolinum font is licensed under the GNU General Public License with a ‘Font-Exception’. See http://www.linuxlibertine.org.

The public instance of Learn OCaml uses the Fontin font instead of Biolinum. This font is licensed under the exljbris Font Foundry Free Font License Agreement, which, to our understanding, does not allow us to redistribute it. See http://www.exljbris.com/eula.html. You will optionally have to procure the files by yourself while building the app. If not, the CSS provides a reasonable fallback font.

Contributions to this repository are placed under the MIT license. This means that we can merge them with the same license as the rest of the codebase, while you keep all the rights on your code. And we will not have to bother you with any future license update. See https://opensource.org/licenses/MIT.

Authors and Acknowledgements

Learn-OCaml is a free software by the OCaml Software Foundation.

It was written by OCamlPro from 2015 to 2018.

The current main contributors are Érik Martin-Dorel, Yann Régis-Gianas, and Louis Gesbert.

The initial authors were Benjamin Canou, Çağdaş Bozman, Grégoire Henry, and Louis Gesbert.

It builds on the previous experience of Try OCaml, by Çağdaş Bozman and Fabrice Le Fessant.

We heavily use js_of_ocaml, so thanks to the Ocsigen team.

The text editing component is a customized version of ACE.

We also include a derivative of ppx_metaquot by Alain Frisch.