Home

Awesome

Awesome OCaml Build Status

<img src="colour-logo.png" width="70%" />

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 introduction to the modern OCaml development workflow, consult the Up and Running with OCaml tutorial.

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

Videos

Β - OCaml Programming: Correct + Efficient + Beautiful - List of 200 bite-sized videos recorded by Michael R. Clarkson. It can be watched independently of the textbook titled the same and listed above in the Books section.

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 and Short Examples

Formal Software Verification

General

Graphics

Internationalization

User Interface

Language-related

Large Source Code Examples

Logging

Machine Learning

Messaging

Metaprogramming

Metrics

Mobile Applications

Networking

Online Courses

Package Management

Parallelism

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

Printers helpers

Project Starter Templates

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:.