Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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:

  • Base,
  • Core,
  • and Core_kernel.

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

like image 548
ELLIOTTCABLE Avatar asked Oct 02 '17 19:10

ELLIOTTCABLE


1 Answers

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.
like image 114
glennsl Avatar answered Nov 09 '22 01:11

glennsl