{"id":13466940,"url":"https://github.com/ocaml/ocaml","last_synced_at":"2025-05-11T03:50:51.110Z","repository":{"id":5580159,"uuid":"6786166","full_name":"ocaml/ocaml","owner":"ocaml","description":"The core OCaml system: compilers, runtime system, base libraries","archived":false,"fork":false,"pushed_at":"2025-05-07T15:42:23.000Z","size":376710,"stargazers_count":5781,"open_issues_count":657,"forks_count":1141,"subscribers_count":206,"default_branch":"trunk","last_synced_at":"2025-05-08T17:17:16.988Z","etag":null,"topics":["compiler","functional-language","ocaml"],"latest_commit_sha":null,"homepage":"https://ocaml.org","language":"OCaml","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ocaml.png","metadata":{"files":{"readme":"README.adoc","changelog":"Changes","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2012-11-20T22:18:22.000Z","updated_at":"2025-05-08T10:23:13.000Z","dependencies_parsed_at":"2023-09-21T17:40:15.256Z","dependency_job_id":"5f683eca-18d0-4b9f-b309-83be036ede45","html_url":"https://github.com/ocaml/ocaml","commit_stats":{"total_commits":26382,"total_committers":462,"mean_commits":"57.103896103896105","dds":0.848798423167311,"last_synced_commit":"abee02590e03b2568ecb35909bc443d96258fcd4"},"previous_names":[],"tags_count":233,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ocaml%2Focaml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ocaml%2Focaml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ocaml%2Focaml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ocaml%2Focaml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ocaml","download_url":"https://codeload.github.com/ocaml/ocaml/tar.gz/refs/heads/trunk","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253514567,"owners_count":21920334,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compiler","functional-language","ocaml"],"created_at":"2024-07-31T15:00:51.599Z","updated_at":"2025-05-11T03:50:51.087Z","avatar_url":"https://github.com/ocaml.png","language":"OCaml","readme":"[CAUTION]\n====\nThe developer team released OCaml 5.0.0 in December 2022. OCaml 5.x features a\nfull rewrite of its runtime system for shared-memory parallel programming using\ndomains and native support for concurrent programming using effect handlers.\n\nOwing to the large number of changes, especially to the garbage collector,\nOCaml 4.14 (the final release in the OCaml 4.x series, originally released in\nMarch 2022) remains supported for the time being. Maintainers of existing\ncodebases are strongly encouraged to evaluate OCaml 5.x and to report any\nperformance degradations on our issue tracker.\n====\n\n|=====\n| Branch `trunk` | Branch `5.4` | Branch `5.3` | Branch `5.2` | Branch `4.14`\n\n| image:https://github.com/ocaml/ocaml/workflows/Build/badge.svg?branch=trunk[\"Github CI Build Status (trunk branch)\",\n     link=\"https://github.com/ocaml/ocaml/actions?query=workflow%3ABuild\"]\n  image:https://github.com/ocaml/ocaml/workflows/Hygiene/badge.svg?branch=trunk[\"Github CI Hygiene Status (trunk branch)\",\n     link=\"https://github.com/ocaml/ocaml/actions?query=workflow%3AHygiene\"]\n  image:https://ci.appveyor.com/api/projects/status/github/ocaml/ocaml?branch=trunk\u0026svg=true[\"AppVeyor Build Status (trunk branch)\",\n     link=\"https://ci.appveyor.com/project/avsm/ocaml\"]\n| image:https://github.com/ocaml/ocaml/workflows/Build/badge.svg?branch=5.4[\"Github CI Build Status (5.4 branch)\",\n     link=\"https://github.com/ocaml/ocaml/actions?query=workflow%3ABuild\"]\n  image:https://ci.appveyor.com/api/projects/status/github/ocaml/ocaml?branch=5.4\u0026svg=true[\"AppVeyor Build Status (5.4 branch)\",\n     link=\"https://ci.appveyor.com/project/avsm/ocaml\"]\n| image:https://github.com/ocaml/ocaml/workflows/Build/badge.svg?branch=5.3[\"Github CI Build Status (5.3 branch)\",\n     link=\"https://github.com/ocaml/ocaml/actions?query=workflow%3ABuild\"]\n  image:https://ci.appveyor.com/api/projects/status/github/ocaml/ocaml?branch=5.3\u0026svg=true[\"AppVeyor Build Status (5.3 branch)\",\n     link=\"https://ci.appveyor.com/project/avsm/ocaml\"]\n| image:https://github.com/ocaml/ocaml/workflows/Build/badge.svg?branch=5.2[\"Github CI Build Status (5.2 branch)\",\n     link=\"https://github.com/ocaml/ocaml/actions?query=workflow%3ABuild\"]\n  image:https://ci.appveyor.com/api/projects/status/github/ocaml/ocaml?branch=5.2\u0026svg=true[\"AppVeyor Build Status (5.2 branch)\",\n     link=\"https://ci.appveyor.com/project/avsm/ocaml\"]\n| image:https://github.com/ocaml/ocaml/workflows/Build/badge.svg?branch=4.14[\"Github CI Build Status (4.14 branch)\",\n     link=\"https://github.com/ocaml/ocaml/actions?query=workflow%3ABuild\"]\n  image:https://ci.appveyor.com/api/projects/status/github/ocaml/ocaml?branch=4.14\u0026svg=true[\"AppVeyor Build Status (4.14 branch)\",\n     link=\"https://ci.appveyor.com/project/avsm/ocaml\"]\n|=====\n\n= README =\n\n== Overview\n\nOCaml is a functional, statically-typed programming language from the\nML family, offering a powerful module system extending that of\nStandard ML and a feature-rich, class-based object system.\n\nOCaml comprises two compilers. One generates bytecode which is then\ninterpreted by a C program. This compiler runs quickly, generates\ncompact code with moderate memory requirements, and is portable to\nmany 32 or 64 bit platforms. Performance of generated programs is\nquite good for a bytecoded implementation.  This compiler can be used\neither as a standalone, batch-oriented compiler that produces\nstandalone programs, or as an interactive REPL system.\n\nThe other compiler generates high-performance native code for a number of\nprocessors. Compilation takes longer and generates bigger code, but the\ngenerated programs deliver excellent performance, while retaining the\nmoderate memory requirements of the bytecode compiler. The native-code\ncompiler currently runs on the following platforms:\n\n|====\n|                |  Tier 1 (actively maintained)   | Tier 2 (maintained when possible)\n\n| x86 64 bits    | Linux, macOS, Windows, FreeBSD  |  NetBSD, OpenBSD, OmniOS (Solaris)\n| ARM 64 bits    | Linux, macOS                    |  FreeBSD, OpenBSD, NetBSD\n| Power 64 bits  | Linux (little-endian, ABIv2)    |  Linux (big-endian, ABIv2)\n| RISC-V 64 bits | Linux                           |\n| IBM Z (s390x)  | Linux                           |\n|====\n\nOther operating systems for the processors above have not been tested, but\nthe compiler may work under other operating systems with little work.\n\n❗ From OCaml 5.0 onwards, native compilation is available only on 64-bit\nsystems.  Native compilation on 32-bit systems is no longer available, nor\nare there plans to bring it back.\n\n== Copyright\n\nAll files marked \"Copyright INRIA\" in this distribution are\nCopyright (C) 1996-2023 Institut National de Recherche en Informatique et\nen Automatique (INRIA) and distributed under the conditions stated in\nfile LICENSE.\n\n== Installation\n\nSee the file link:INSTALL.adoc[] for installation instructions on\nmachines running Unix, Linux, macOS, WSL and Cygwin.  For native Microsoft\nWindows, see link:README.win32.adoc[].\n\n== Documentation\n\nThe OCaml manual is distributed in HTML, PDF, and Emacs\nInfo files.  It is available at\n\nhttps://ocaml.org/manual/latest/\n\n== Availability\n\nThe complete OCaml distribution can be accessed at\n\nhttps://ocaml.org/docs/install.html\n\n== Releases\n\nMore information about when and how new releases of OCaml are published is\navailable at link:release-info/introduction.md[], see also\nlink:release-info/calendar.md[] for a prospective calendar for future OCaml\nversions. For past versions, link:release-info/News[] contains a short\ndescription of major changes in previous versions.\n\n== Keeping in Touch with the Caml Community\n\nThere is an active and friendly discussion forum at\n\nhttps://discuss.ocaml.org/\n\nThe OCaml mailing list is the longest-running forum for OCaml users.\nYou can email it at\n\nmailto:caml-list@inria.fr[]\n\nYou can subscribe and access list archives via the Web interface at\n\nhttps://sympa.inria.fr/sympa/subscribe/caml-list\n\nThere also exist other mailing lists, chat channels, and various other forums\naround the internet for getting in touch with the OCaml and ML family language\ncommunity. These can be accessed at\n\nhttps://ocaml.org/community/\n\nIn particular, the IRC channel `#ocaml` on https://libera.chat/[Libera] has a\nlong history and welcomes questions.\n\n== Bug Reports and User Feedback\n\nPlease report bugs using the issue tracker at\nhttps://github.com/ocaml/ocaml/issues\n\nTo be effective, bug reports should include a complete program (preferably\nsmall) that exhibits the unexpected behavior, and the configuration you are\nusing (machine type, etc).\n\n== Contributing\n\nFor information on contributing to OCaml, see link:HACKING.adoc[] and\nlink:CONTRIBUTING.md[].\n\n== Separately maintained components\n\nSome libraries and tools which used to be part of the OCaml distribution are\nnow maintained separately and distributed as OPAM packages.\nPlease use the issue trackers at their respective new homes:\n\n|====\n| Library           |  Removed since    |  OPAM package\n\n| https://github.com/ocaml/camlp-streams/issues[The Stream and Genlex standard library modules] | OCaml 5.0 | `camlp-streams`\n| https://github.com/ocaml/graphics/issues[The Graphics library] | OCaml 4.09 | `graphics`\n| https://github.com/ocaml/num/issues[The Num library] | OCaml 4.06 | `num`\n| https://github.com/ocaml/ocamlbuild/issues[The OCamlbuild tool] | OCaml 4.03 | `ocamlbuild`\n| https://github.com/camlp4/camlp4/issues[The camlp4 tool] | OCaml 4.02 | `camlp4`\n| https://github.com/garrigue/labltk/issues[The LablTk library] | OCaml 4.02 | `labltk`\n| https://github.com/ocaml/dbm/issues[The CamlDBM library] | OCaml 4.00 | `dbm`\n| https://github.com/xavierleroy/ocamltopwin/issues[The OCamlWinTop Windows toplevel] | OCaml 4.00 | none\n|=====\n","funding_links":[],"categories":["OCaml","OCaml (14)","By Language","Uncategorized","Back-End Development"],"sub_categories":["Other","Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Focaml%2Focaml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Focaml%2Focaml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Focaml%2Focaml/lists"}