OCaml Scientific Computing

Owl is a dedicated system for scientific and engineering computing. It is designed in the functional programming language OCaml. The project goal is to build a state-of-the-art platform for developing modern data analytical applications.

The project is based on the on-going research led by Liang Wang in the Computer Lab. The source code is {licensed under MIT} and hosted on the {Github Repository}.

Funding

We are actively seeking for funding opportunities to support our research and development. Financial support can help us in focusing on building the most powerful system for modern scientific computing. For institutional funding, please contact me directly.

For individuals, please use this Paypal donation link.

Mission

Our mission is to push the frontier of high-performance scientific computing, and impact how we develop future analytical applications by building a robust numerical system in the functional programming language. The system aims to serve as the de-facto tool for computation intensive tasks in OCaml.

Owl should fully implement advanced numerical methods, with inherent support for parallel and distributed computing, as well as a complete set of tooling from designing, prototyping, and deploying modern numerical applications. The project provides both researchers and industry programmers a powerful framework to write concise, fast and safe analytical code.

The project should also produce comprehensive learning materials to promote OCaml learning. We hope the project can help more people in learning OCaml by offering them a “numerical path” to the functional programming world.

Learning

The full documentation consists of three parts. You can access both parts from the current page. The first two parts is a Tutorial Book which starts with a brief introductory of the OCaml language followed by a comprehensive tour of the overall system with many examples and explanations. Both parts are mostly written by hand.

The third part is the API Reference built automatically from Owl’s repository by the parser I wrote. The API Reference cover the important functions and provides links to the source code form many functions in the library.

Projects

Here is a list of on-going and finished Owl-related projects, as well as some examples to showcase Owl’s capability.

Contact

You can reach me in the following ways. Regarding the matters on funding and collaboration, email is preferred. I am looking forward to hearing from you!

Credits

Owl owes a great debt of gratitude to its contributors and other open source projects. Please refer to Acknowledgement page for the full list.