/awesome-ocaml

A curated list of awesome frameworks, libraries, tools, and resources for the OCaml programming language.

Primary LanguagePython

Awesome OCaml Awesome Lists

Buy Me A Coffee   Ko-Fi   PayPal   Stripe

A curated list of awesome frameworks, libraries, tools, and resources for the OCaml programming language.

Contents

Libraries

Core Libraries

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

Data Structures and Algorithms

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

Web Frameworks

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

Testing

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

Concurrency and Parallelism

  • 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 and Visualization

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

Tools

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

Build Tools and Package Managers

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

IDEs and Editors

Learning Resources

Books

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

Community

Contribute

Contributions are welcome!

License

CC0