Awesome OCaml Build Status

Everything you'll ever need on the road to mastering OCaml.

A curated list of references to awesome OCaml tools, frameworks, libraries and articles. Additionally there is a collection of freely available books, papers and presentations.

If you're looking for comprehensive community-driven content about OCaml visit 📚OCamlverse!

For a quick intorduction to the modern OCaml development workflow consult the OCaml for the impatient guide.

Your favorite package is not listed? Fork and create a Pull Request to add it!

Contents


Community

Algorithms and Data Structures

Application Libraries

Benchmarking

Blogs

Books

Code Analysis and Linters

Program analysis

Compilers and Compiler Tools

Concurrency

Two concurrency libraries exist in OCaml: Lwt and Async. They provide very similar functionality but make radically different decisions with regards to error handling and internal implementation details (see the links below for more details). Real World OCaml uses Async but a version of the code examples translated to Lwt is also available.

There is also an ongoing experimental project to make OCaml multiprocessor and multicore aware at OCaml multicore fork.

Databases

Datetime

Developer Tools

Exercises

Formal Software Verification

General

Graphics

User Interface

Logging

Messaging

Metaprogramming

Metrics

Mobile Applications

Networking

Online Courses

Package Management

Parallelism

(Note: Sorted from the easier to use to the more flexible.)

Questions

Science and Technical Computing

Regular Expressions

Security and Cryptography

Note: The differences between nocrypto and cryptokit cryptographic libraries are described in the following blog post: OCaml-TLS: building the nocrypto library core.

Semantic Technology

Serialization

System Programming

Testing

Utilities

Web Development


Inspired by awesome projects line. Discover more awesomeness :sparkles:.