opam-alpha-repository VS ocaml

Compare opam-alpha-repository vs ocaml and see what are their differences.


A test opam overlay containing packages compatible with the next release of the OCaml compiler (by kit-ty-kate)


The core OCaml system: compilers, runtime system, base libraries (by ocaml)
Our great sponsors
  • Zigi - Close all those tabs. Zigi will handle your updates.
  • SonarQube - Static code analysis for 29 languages.
  • Scout APM - Truly a developer’s best friend
  • InfluxDB - Build time-series-based applications quickly and at scale.
opam-alpha-repository ocaml
2 89
15 4,072
- 2.1%
8.7 9.9
16 days ago 8 days ago
Shell OCaml
- GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.


Posts with mentions or reviews of opam-alpha-repository. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-09-30.
  • Practical OCaml, Multicore Edition
    3 projects | dev.to | 30 Sep 2022
    # 'mc' is just a short name we choose # We need to explicitly add the opam alpha repository with higher priority than the default repo, to allow installing some multicore-only libraries: opam switch create mc 5.0.0~alpha1 --repositories=mc=git+https://github.com/kit-ty-kate/opam-alpha-repository.git,default eval $(opam env) opam install dune utop eio
  • OCaml 5.0.0, zeroth alpha release
    4 projects | reddit.com/r/ocaml | 15 Jun 2022


Posts with mentions or reviews of ocaml. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-11-04.
  • In Defense of Linked Lists
    16 projects | news.ycombinator.com | 4 Nov 2022
    >https://github.com/ocaml/ocaml/pull/10195 shows the change adding prefetching to the marking phase

    That relies on the fact that it can call prefetch on all pointers to child objects, potentially dozens at a time. In a list you have only one next pointer, so this doesn't work, you are immediately stuck waiting for the prefetch to complete.

    > https://github.com/ocaml/ocaml/pull/9934 was done earlier for sweeping

    That does it on C arrays / continuous buffers.

    16 projects | news.ycombinator.com | 4 Nov 2022
    There are also prefetch instructions. I listened to https://www.youtube.com/watch?v=SetLtBH43_U recently (transcript: https://signalsandthreads.com/memory-management/), part of it talked about some work in OCaml's GC.

    > ...each individual memory request that’s not in cache still has to wait the full 300 cycles. But if we can get 10 of them going at the same time, then we can be hitting a new cache line every 30 cycles. I mean, that’s not as good as getting one every 16 cycles, but it’s close. You’re actually able to get to a reasonable fraction of the raw memory bandwidth of the machine while just traversing randomly over this huge one gigabyte heap

    https://github.com/ocaml/ocaml/pull/10195 shows the change adding prefetching to the marking phase (https://github.com/ocaml/ocaml/pull/9934 was done earlier for sweeping). There are some benchmarks in the thread.

  • November 2022 monthly "What are you working on?" thread
    25 projects | reddit.com/r/ProgrammingLanguages | 3 Nov 2022
    I'm helping with the maintenance of the OCaml compiler. Mostly reviewing other people's PR and giving feedback, and occasionally writing some code. The last few weeks have been surprisingly diverse, for example:
  • Why is D's garbage collection slower than GO's?
    2 projects | news.ycombinator.com | 28 Oct 2022
    > if your hedgefund trading software runs 1% faster

    Jane Street has used OCaml for about 20 years.

    Last year, OCaml merged an improvement to its GC that reduced latency by 75% (by one measure), and reduced execution time by 23% when compiling OCaml and around 6 to 7% when compiling Coq libraries:


    Performance is definitely left on the table even in mission-critical software.

  • I find that I don't want to use any other programming language now that I'm becoming proficient in Rust. Is this common?
    4 projects | reddit.com/r/rust | 4 Oct 2022
    Well it’s general purpose, although it has a larger environment than rust and relies on a GC, so it won’t really work for making stuff for bare metal. It’s quite performant though, looks quite nice and is pretty readable and it has first class functional paradigm support. You can take a look at some code and who uses it at ocaml.org
  • Scala isn't fun anymore
    10 projects | reddit.com/r/programming | 10 Sep 2022
    Yeah that's what we have languages with type inference for:
  • Scala 3.2 released!
    2 projects | reddit.com/r/scala | 8 Sep 2022
    Note on a minor point (I'm not a Scala regular and don't know what's a good way to contact the authors of the post): the git shortlog -n -s output shows some repeated entries that add noise and make it harder to understand the volume of contributions, for example Martin Odersky and Ondřej Lhoták both occur twice in the list. The solution to this problem is to maintain a .mailmap file to merge the committer identities together in the output of git log, git shortlog etc. I do this for the OCaml compiler implementation for example: https://github.com/ocaml/ocaml/blob/trunk/.mailmap. The same file can be used to record contributor email or naming preferences.
  • My programming language history
    10 projects | dev.to | 26 Aug 2022
  • F# (in)compatibility
    3 projects | reddit.com/r/ocaml | 14 Jul 2022
    OCaml Standard Library got the naming and implementation of the Seq data type in 2017, from an external library called 'Batteries Included': https://github.com/ocaml/ocaml/pull/1002
  • Implementing the Perceus reference counting GC
    5 projects | dev.to | 24 Jun 2022
    Reference counting (RC) has rather been a minor party to the other garbage collection (GC) algorithms in functional programming in the last decades as, for example, OCaml and Haskell use non-RC GC. However, several recent papers, such as Counting Immutable Beans: Reference Counting Optimized for Purely Functional Programming and Perceus: Garbage Free Reference Counting with Reuse, showed the efficiency of highly optimized RC GC in functional languages with sacrifice or restriction of some language features like circular references. The latter paper introduced an efficient RC GC algorithm called Perceus which is basically all-in-one RC.

What are some alternatives?

When comparing opam-alpha-repository and ocaml you can also consider the following projects:

VisualFSharp - The F# compiler, F# core library, F# language service, and F# tooling integration for Visual Studio

Alpaca-API - The Alpaca API is a developer interface for trading operations and market data reception through the Alpaca platform.

dune - A composable build system for OCaml.

melange - A mixture of tooling combined to produce JavaScript from OCaml & Reason

TradeAlgo - Stock trading algorithm written in Python for TD Ameritrade.

rust - Rust for the xtensa architecture. Built in targets for the ESP32 and ESP8266

koka - Koka language compiler and interpreter

rust - Empowering everyone to build reliable and efficient software.

domainslib - Parallel Programming over Domains

tokio - A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...

go - The Go programming language

rescript-compiler - The compiler for ReScript.