image

Owl is a dedicated system for scientific and engineering computing. It originated from a research project in the Computer Lab at the University of Cambridge back in 2016. The project was led by Liang Wang, with Jianxin, who was working on his PhD at the time. The mission was to advance the frontier of high-performance scientific computing, establishing Owl as the de-facto tool for computation-intensive tasks in OCaml. The history of the project is documented on Wikipedia.

Mission

Our mission is to push the frontier of high-performance scientific computing, provide both researchers and industry programmers a powerful framework to write concise, fast and safe analytical code. The system aims to serve as the de-facto tool for computation intensive tasks in OCaml. Currently we aim to actively maintain it and keep it stable, utilizing the limited time and human resource we have.

Owl Team

To achieve this mission, we are assembling an Owl Team. Anyone who can potentially give sufficient contributions recognized by the community can request to be a team member. A team member is expected to make several valuable and significant contributions to the project in both quality and quantity. Typically a committer focuses on one specific aspect of the project and is a domain expert. We hope but cannot guarantee that the team members can cover all aspects of the code base.

Emphasis are put on the responsibility of each team member. Each one should take responsibility of certain aspects of the code base, e.g. a module or maintenance for a specific OS platform. Team members, together with their domain aspects and responsibilities, will be listed here and also on the GitHub page.

For anyone who is willing to contribute, some good starting points could be:

  • Participate in discussion in issues, and help to fix them
  • Fix documentations, mainly by changing the .mli files in the source code, based on which the documentations are generated
  • Fix tutorials; the code could be not runnable, or the content could not display properly
  • Add more examples and tests
  • Fix issues listed in the TODO list
  • Propose to fix/improve anything that interests you during using Owl

Current team member:

  • @jzstark: Project leader. Manage overall architecture, roadmap,and tech vision. Community communication. Set research agenda.
  • @ryanrhymes: Potential commercialization, business opportunity & funding seeking.

Community

The Owl community is based on the OCaml Discourse. All participants in the community are encouraged to provide support for new users within the project management infrastructure. Those seeking technical support should also recognize that all support activities within the project is voluntary and is therefore provided as and when time permits.

Publications

Numerous students, including master’s and PhD candidates in the computer lab, worked on the project. They projected significant results and contributed to numerous academic publications related to the Owl project. These contributions include theses listed on the project page, as well as the following two books:

« OCaml Scientific Computing » « Architecture of Numerical Systems »
image image

Acknowledgment

The project has received generous support from various organizations and individuals since its inception. We express our heartfelt gratitude to the Computer Laboratory, OCaml Labs, the OCaml Software Foundation, the University of Cambridge, Ahrefs, and the many kind people who have supported us over the years.