Understanding the difference between Base and Core
masterJane Street provides two distinct libraries that serve different purposes:
- Base: A minimal, portable, and lightweight replacement for the OCaml standard library. It is designed to be highly stable.
- Core: A more feature-rich extension of Base. It contains more code and dependencies, and its APIs evolve more quickly. Like Base, it is portable and works on Javascript.
Many modules in Core are extensions of Base modules. For example, Core versions of modules might add bin_io support, use Stable to lock in APIs, or follow Core-specific conventions (such as Core.Map following Core conventions for comparator usage).