ocamlstandard-libraryreasonocaml-core

What's the difference between Jane Street's ‘Base’, ‘Core’ and 'Core_kernel'?


I'm new to OCaml, and I it's often suggested that I use Jane Street's standard-library instead of the one that ships with the compiler.

However, there seem to even be several of those, and I don't know which I should be using:

Can anybody quickly summarize the difference between these (and perhaps vs. Batteries, etc), or when and why I should choose one over the others?


Solution

  • I was hoping someone more knowledgable would come along to answer this, but here's the gist of it at least, straight from the horse's mouth:

    • Base: minimal stdlib replacement. Portable and lightweight and intended to be highly stable.
    • Core_kernel: Extension of Base. More full featured, with more code and dependencies, and APIs that evolve more quickly. Portable, and works on Javascript.
    • Core: Core_kernel extended with UNIX APIs.