A curated list of awesome frameworks, libraries, tools, and resources for the OCaml programming language.
- Libraries
- Tools
- Build Tools and Package Managers
- IDEs and Editors
- Learning Resources
- Books
- Community
- Contribute
- License
- OCaml Standard Library - The official standard library of OCaml.
- Base - A Jane Street alternative to the OCaml standard library with additional features and improvements.
- Core - An industrial-strength alternative standard library by Jane Street.
- Containers - A lightweight extension of the OCaml standard library.
- Batteries - An alternative standard library providing additional data structures and utilities.
- OCamlgraph - A library for graph data structures and algorithms in OCaml.
- Seq - A library providing a sequence data type with various utilities.
- Opium - A lightweight and modular web framework for OCaml, inspired by Express.js.
- Ocsigen Eliom - A powerful framework for full-stack web applications in OCaml.
- Dream - A modern, type-safe web framework for building reliable web applications in OCaml.
- Cohttp - A lightweight HTTP server and client library for OCaml.
- Alcotest - A lightweight and colorful test framework for OCaml.
- OUnit - A unit testing framework for OCaml, similar to JUnit.
- QCheck - A property-based testing library inspired by Haskell's QuickCheck.
- Async - A library for asynchronous programming, designed by Jane Street.
- Lwt - A cooperative threading library for OCaml, providing lightweight threads.
- Domainslib - A parallel programming library for OCaml's multicore runtime.
- Graphics - The OCaml Graphics library for basic graphics operations.
- Vg - A declarative 2D vector graphics library for OCaml.
- Plotkic - A simple and lightweight plotting library for OCaml.
- OCamlFormat - A tool for automatically formatting OCaml code.
- Merlin - An editor helper that provides autocompletion and type-checking for OCaml.
- utop - An enhanced interactive toplevel (REPL) for OCaml with autocompletion.
- dune - A popular build system for OCaml projects, focused on simplicity and speed.
- OPAM - The OCaml Package Manager, a tool for managing OCaml libraries and dependencies.
- Dune - A build system for OCaml, designed for reliability and speed.
- esy - A package manager for native projects, including OCaml.
- VS Code - Supports OCaml via the OCaml Platform extension.
- Vim - Configure with ocaml-lsp and Merlin for a powerful OCaml development environment.
- Emacs with Tuareg Mode - An OCaml major mode for Emacs, supporting OCaml syntax highlighting and integration with Merlin.
- IntelliJ IDEA - Supports OCaml via the OCaml Plugin.
- Real World OCaml - A comprehensive and practical guide to OCaml programming.
- OCaml.org Learning Resources - Official tutorials and guides for learning OCaml.
- CS3110: Data Structures and Functional Programming - A Cornell University course on OCaml programming.
- OCaml MOOC - A free online course on functional programming with OCaml.
- Real World OCaml by Yaron Minsky, Anil Madhavapeddy, and Jason Hickey - A practical book on OCaml programming.
- OCaml from the Very Beginning by John Whitington - An introduction to OCaml for beginners.
- Functional Programming in OCaml by Michael R. Clarkson - A book focused on functional programming techniques in OCaml.
- Unix System Programming with OCaml by Xavier Leroy - A book on system programming using OCaml.
- OCaml Discuss - The official forum for OCaml discussions.
- Reddit: r/ocaml - A subreddit for OCaml-related news, questions, and discussions.
- OCaml Discord - A chat server for the OCaml community.
- Stack Overflow: OCaml - A Q&A site for OCaml programming questions.
Contributions are welcome. Please ensure your submission fully follows the requirements outlined in CONTRIBUTING.md, including formatting, scope alignment, and category placement.
Pull requests that do not adhere to the contribution guidelines may be closed.