The Learn-OCaml project

The project aims at promoting the usage of OCaml in education, in order to expand the OCaml community and to facilitate the search and hire of well-trained OCaml engineers.

More Actions

Your proposals or ideas are welcome: send us a description.

Manage communities

  • Hire a Community Manager (partially funded)
  • Sponsor actions such as meetups, workshops, major conferences
  • Create a dedicated conference in the style of PyCon

Support the OCaml release process

Support testing, bug fixing, production of releases.

Support the standardization of libraries

Help working groups to be set up and design guidelines and standard OCaml libraries.

Support research actions towards the future of OCaml


Rewriting the type system

  • Use a constraint-based approach and have a more modular implementation, so that the type system is easier to maintain and modify in the future.
  • This will probably include an explicitly typed tree after the elaboration that will have its own separate typechecker.
  • Ideally, the implementation should be functional, even if parts of it
    could use side effects locally.

Modular implicits

  • Extend the module language in preparation of implicit modules, this
    should allow to write all uses of “implicit modules” explicitly.
  • Typecheck implicits and elaborate them into the explicit sublanguage.
  • Formalize the meta-theory.

[More to come]

Support the development of the compilers, libraries and tools, for instance:

  • Improve the quality of error messages of the compiler
  • Improve to help programmers match packages with their needs:
    • Create a uniform package documentation format.
    • Centralize community feedback about packages.
  • Opam for MS Windows, improve MS Windows support in general.
  • Make sure that “simple things are simple to do”. Follow Python
    philosophy to make OCaml a good language for Rapid Application


Financially support the writing of tutorials on:

  • OCaml for the Python programmer / Java programmer / C programmer.
  • Multicore OCaml
  • libraries and frameworks such as Lwt, Eliom/Ocsigen, …
  • tools such as Opam, Dune, …

OCaml training and education: the Learn-OCaml project