View on GitHub

OCamlverse

Documenting everything about OCaml

Edit

Ecosystem

This page describes the current state of the OCaml ecosystem.

  • Sherlocode: Instant search through all the OCaml code in OPAM. Very fast!
  • SourceGraph: Search through all of github/gitlab for any open-source OCaml code.
  • Sherlodocs: Instant search through all OCaml documentation in OPAM. Just as zippy as Sherlocode.
  • OCaml.Codes: Instant search through various OCaml repos.

Help Wanted

For a list of things currently missing in OCaml’s ecosystem, see Help Wanted

Standard Libraries

For an overview of the different standard library options and recommendations, see Standard Libraries.

Data Structures and Algorithms

See Data Structures and Algorithms

Applications

See Applications. Full applications written in OCaml.

Audio

See Audio

Build System/Package Management

See Build System and Package Management

Cloud Computing

  • aws-s3: Access to Amazon’s Simple Storage Solution (S3)
  • Google Drive OCamlFuse: A User file system for Google Drive. Also one of the few ways to sync Google Drive from Linux.
  • aws-lambda: OCaml runtime for AWS Lambda.
  • ocaml-aws: OCaml bindings for AWS generated from botocore definitons.

Code Tools

See Code Tools

Command Line Arguments

See Command Line Arguments

Compilers

For compilation tools made in OCaml, see Compilers

Concurrency, Parallelism, Distributed Computing

See Concurrency, Parallelism and Distributed Computing

Cryptography

See Security and Cryptography

Databases

See Databases

Debugging

See Debugging

Formal Software Verification

See Formal Software Verification

File Formats

For manipulating different file formats from OCaml, see File Formats

File Manipulation

See File Manipulation.

Foreign Function Interface

For integrating with C, C++, Python etc., see Foreign Function Interface.

Functional Reactive Programming

See Functional Reactive Programming.

Game Development

See Games

Graphics

For graphic libraries, see Graphics.

Graphing, Plotting, Data Visualization

See Graphing

Hardware Design

For usage of OCaml in hardware design, see Hardware Design

Iterators

See Iterators

Lenses

See Lenses

Logging

See Logging.

Machine Learning, Data Science, Scientific Computing

See Scientific Computing

Metaprogramming and PPX

See Metaprogramming for metaprogramming facilities such as PPX, camlp4 and MetaOCaml.

Mobile

See Mobile for compilation of OCaml to mobile platforms.

Monads

See Monads.

Pretty printing

See Pretty Printing.

Process Management

See Process Management.

Protocols

For support of protocols, see Protocols

Profiling

See Profiling.

Regular Expressions

See Regular Rxpressions

RPC

See RPC

Searching

For search-related libraries, see Searching

Security

See Security and Cryptography

Static Analysis

For static analysis using OCaml, see Static Analysis

String Manipulation

See String Manipulation

Systems Programming

For low-level systems programming, see Systems Programming

Testing Frameworks

For testing frameworks in OCaml, see Testing

Time and Date

  • For short-term timing requirements, Sys.time can do the job.
  • mtime: wall-clock monotonic time, and the best choice for longer-running timing requirements.
  • ptime: POSIX time.
  • ISO8601
  • calendar
  • odate
  • Timedesc: date time handling.
  • Timere: date time reasoning.
  • Timere-parse: natural language parsing of date, time and duration.

Unicode Support

See Unicode

User Interface

For GUIs and TUIs (Terminal User Interfaces), see User Interface

Web and Networking

For libraries related to web development and networking, see Web and Networking