Category Archives: Core & Async

Learning Async

If your taking your first steps in Janestreet’s Async library, here’s some sources of help & support:

My top 5 sources of Async Documentation

  1. Official Janestreet Docs for Async/Core: These are generated from the .mli’s in the Async source and you will quickly find places where ocamldoc has failed to cope with Core/Async complex module structure. In this case, I recommend the source code:
  2. Dummy’s guide to Async, a useful intro to bind, upon and map (the 3 fundemental functions):
  3. Real World OCaml chapter on Async, covers Deferred basics, Ivars, Reader/Writer, TCP server, running the scheduler, Command, Pipes, Monitors, Delays, Choose and System Threads:
  4. Yaron Minsky (one of co-authors of RWO) provides a nice little example of Async’s RPC libraries:
  5. My favourite project for example Async and Lwt code is cohttp:, otherwise there’s OPAM’s list of Async dependent project, useful for finding more example code:


Google group for Janestreet’s Core & Async, the JS team are really helpful 🙂 :!forum/ocaml-core

Async issue tracker on Github is quiet but still a good point to start a conversation:


I recommend the installation chapter of Real World Ocaml: and install instructions for OPAM:

Janestreet provide some installation hints, though this is covered for comprehensively in RWO (linked above):

Very light background reading: