About Core/Async



This core tag is for discussing the Base/Core/Async suite of libraries. All of these libraries are designed to work well together and share common idioms (though they can be used independently as well)

Here’s a quick guide to the major pieces:

  • Base: Newest of the group. A replacement for the Inria stdlib. It’s designed to be lightweight, portable, and easy to build. There are no UNIX dependencies or build-time dependencies on PPXs.
  • Stdio: a complement to Base, containing basic blocking IO, based on OCaml’s input and output channels.
  • Core_kernel: a more fully-featured, but still portable stdlib, extending Base and Stdio.
  • Core: Extension of Core_kernel, including Unix support
  • Async_kernel: Portable library for building concurrent programs.
  • Async: Concurrent programming on Unix, extending Async_kernel.

(WIP) Frequently Asked Questions


Where does Stdio fit into all of this? Is it supposed to complement Base?


Yes, that’s the intent. I should have listed it on the pinned post.




@yminsky: the Core category has been replaced by a tag instead and this post is linked to from the central FAQ.

Would you like to edit the original post here to direct users to the core tag? Alternatively, we can also turn this topic into a wiki page that makes it editable by other users.


I just edited the original post to match. I don’t mind turning it into a Wiki page either. How does one do that?


It took me a while to find. Click on the … below the first post that you want to convert, then on the admin actions spanner that is revealed, and then make wiki at the bottom of that.