Ecosystem
This page describes the current state of the OCaml ecosystem.
- docs.ocaml.pro: Comprehensive listing of documentation for OCaml packages, with cross-listing.
- check.ocamllabs.io: View current build status of the entire OPAM ecosystem.
- The OCaml Platform: a community endeavor to standardize the infrastructure in the OCaml world.
- Community poll on OCaml: How the community views the language and ecosystem.
Code Search
- 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
Compilers
For compilation tools made in OCaml, see Compilers
Concurrency, Parallelism, Distributed Computing
See Concurrency, Parallelism and Distributed Computing
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
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
RPC
See RPC
Searching
For search-related libraries, see Searching
Security
Static Analysis
For static analysis using OCaml, see Static Analysis
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