Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    O

    OPAM Blog

    opam.ocaml.org · Company blog · on HN since 2014

    The OCaml team behind OPAM, the OCaml package manager, posts release notes, packaging guides and repository security work.

    Visit blogHN submissions
    Languages & CompilersOpen Source & LinuxProgramming
    What HN says

    HN links it when OCaml package management comes up, including OPAM's lack of Windows support before version 2.2 and comparisons to Cargo.

    Stats for nerds
    40HN people shared it
    7linked in comments
    61story points
    Nov 2025last shared
    2014people per year2025

    Top posts on HN

    1. 1
      Signing the OPAM Repository: TUF Meets Git
      2 people · 42 points · first shared 2015 · 20 comments on HN
    2. 2
      Official native Windows support for OCaml with opam 2.2.0
      1 person · 9 points · first shared 2024 · Discussion on HN
    3. 3
      OPAM 1.2.0 public beta released
      3 people · 3 points · first shared 2014 · Discussion on HN
    4. 4
      Preview of opam 2.0, the OCaml package manager
      1 person · 3 points · first shared 2016 · Discussion on HN
    5. 5
      Why we use OPAM in XenServer
      1 person · 2 points · first shared 2015 · Discussion on HN
    6. 6
      Release of opam 2.0.0, the ocaml package manager
      1 person · 1 points · first shared 2018 · Discussion on HN
    7. 7
      Draws fractals defined by iterated function systems (IFS) using the chaos game
      1 person · 1 points · first shared 2026 · Discussion on HN
    8. 8
      Homepage
      10 people · first shared 2014
    9. 9
      Packaging
      3 people · first shared 2016
    10. 10
      Packages
      2 people · first shared 2015

    What HN people wrote when they linked it

    • ernst_klimDec 2018

      >I have not heard positive things about the library eco-system

      OCaml has quite a neat ecosystem, though. Especially in terms of quality. There are a few major and a bulk of minor groups that write libraries for different purposes, such as:

      * MirageOS -- people behind a bunch of a high quality system libraries, there are tls (in pure ocaml) and various cryptography primitives, filesystem drivers, tar, zlib, full tcpip stack, http server, git (in pure ocaml, not a mere binding), irmin (a git-based key-store database with concurrent access), dns and some other [1].

      * Ocsigen -- webdevs, authors of Lwt (monadic concurrency library), js_of_ocaml (ocaml to js compiler) and related stuff [2]

      * Jane Street, Facebook, blumberg -- reason syntax, bucklescript (alternative npm-ecosystem-frienly javascript compiler), various libraries for serialization, containers etc.

      * Others

      Opam [3] has quite a comprehensive set of libraries pretty for every purpose: data serialization, interaction with other langs (python, R, beam Erlang/Elixir), servers, db bindings, stuff for system or web programming. Some stuff is absent, but it's definitely not a scorched field, and most of the time the benefits worth writing an absent binding or two.

      [1] https://github.com/mirage

      [2] https://github.com/ocsigen

      [3] https://opam.ocaml.org/packages/index-popularity.html

    • yminskyJul 2014

      The biggest change is OPAM, http://opam.ocaml.org/, a top-notch package management system that makes installing OCaml packages much easier.

      Shameless plug: there's also a newish O'Reilly book, Real World OCaml http://realworldocaml.org, which I think is a big help in learning the language.

      Oh, and there's OCaml Labs, a new lab at Cambridge University that's dedicated to improving the language.

      And of course the compiler is constantly making progress. The upcoming 4.02 release is a pretty fun one, which I documented here: https://blogs.janestreet.com/ocaml-4-02-everything-else/ And before that, changes like GADTs and first-class modules landed, which have been quite useful extensions.

      Really, it's a very active and fun community these days. The language is getting better quite quickly, but mostly in conservative and tasteful ways. The people in charge of the core language have been doing a great job, and the community infrastructure (things like OPAM) have been making big strides as well.

    • talex5Jun 2020

      By default, opam installs everything into the current "switch". Typically you have switch one per compiler, but you can create one per project. You can also create a "local" switch directly inside your project directory: https://opam.ocaml.org/blog/opam-local-switches/

      Another option is to use the duniverse tool (https://github.com/ocamllabs/duniverse). That downloads all dependencies to the project directory, and then builds them all together as one giant project. That makes it very easy to make changes across multiple libraries at once, while keeping fast incremental builds.

      And a final option is to build projects with Docker, which allows you to have separate versions of non-OCaml packages too.

    • DrupJul 2016

      At least for the dependency solving part, a generic exchange format has emerged: CUDF (http://www.mancoosi.org/cudf/).

      Several efficient solvers have been implemented that supports this input format. You can read about it more in http://opam.ocaml.org/doc/Specifying_Solver_Preferences.html#Yestherearedifferentversionsoftheuserpreferencelanguage

      [1]: https://www.youtube.com/watch?v=E-gtFnbHcv0&list=UUP9g4dLR7xt6KzCYntNqYcw

      [2]: http://ocaml.org/meetings/ocaml/2014/ocaml2014_17.pdf

      This is at least used in OPAM (the OCaml package manager) and is also available for apt.
      If you are implementing a SAT solver for your package manager nowadays, you are doing it wrong. :)

    • weberc2Nov 2018

      I'm a little hazy on the particulars because I never got terribly deep into OCaml and haven't tried it in a while, but IIRC, OPAM is a package manager (and according to https://opam.ocaml.org/doc/Packaging.html, it requires a configuration file). The most popular build system for OCaml is JBuild (or whatever it got renamed to) which also requires a configuration file (formatted as S-expressions to make things more confusing for newcomers) and I think that usually bottoms out in a Makefile to boot (or maybe it's the other way around, and OPAM packages usually call into Make which calls into JBuild?).

      In any case, it's a far cry from `go build`.

    • ErlangenJun 2020

      Sorry I miss your reply. I create opam switches to have different versions of compiler, or allow libraries that conflict to live at different branches.

      1. Dune is a relative new build system for Ocaml. You just write a configuration file, and dune will handle switches automatically. "It also supports multi-context builds, such as building against several opam roots/switches simultaneously. This helps maintaining packages across several versions of OCaml and gives cross-compilation for free." See https://opam.ocaml.org/packages/dune/

      2. Yes. You can can multiple versions library at different switch.

      3. I am not sure.

    Related

    MirageOS Blogopenmirage.org62 people

    Irmin: Git-like distributed, branchable storage

    MirageOS Blog
    Company · last shared 2015
    Anil Madhavapeddyanil.recoil.org46 people

    Compiling OCaml directly to a new cloud operating system

    Anil Madhavapeddy
    Personal · last shared 2026
    KC Sivaramakrishnankcsrk.info44 people

    OCaml on Baremetal Shakti RISC-V Processor

    KC Sivaramakrishnan
    Personal · last shared 2026
    MirageOSmirage.io84 people

    MirageOS 4.0 – Self-managed internet infrastructure with unikernels

    MirageOS
    Company · last shared 2026
    Thomas Leonardroscidus.com82 people

    Python to OCaml: Retrospective

    Thomas Leonard
    Personal · last shared 2026
    OCamlPro Blogocamlpro.com30 people

    An in-depth look at OCaml’s new “best-fit” garbage collector strategy

    OCamlPro Blog
    Company · last shared 2026
    GNOME Blogsblogs.gnome.org490 people

    AirPods fast connect security vulnerability

    GNOME Blogs
    Company · last shared 2026
    Windows Blogblogs.windows.com885 people

    The Windows Subsystem for Linux is now open source

    Windows Blog
    Company · last shared 2026