The short answer is: no, there is no documentation.

The long answer: compiler-libs was made available following the demand of expert users, that were already familiar with the compiler codebase, willing to reuse its internals to develop tooling around the language. Nobody had the time back then to contribute a comprehensive documentation, or even to define a reasonable API subset to expose (so basically everything is exposed). Finally, there is no guarantee of API compatibility across OCaml versions, so reusing this makes you tightly coupled to the compiler evolution.

Documentation emerges slowly under the form of blog posts, discussions, and evolution of the codebase. In particular, over the course of his work on -ppx, Alain Frisch enriched parsing/parsetree.mli with invaluable comments describing the mapping between concrete and abstract syntax. Everyone is warmly welcome to contribute such improvements to the (codebase) documentation.

On Sat, Aug 8, 2015 at 12:25 AM, Leonid Rozenberg <leonidr@gmail.com> wrote:
Are there any resources besides the couple of blog posts and reading the source?

I found this surprising:

        OCaml version 4.02.1

# #use "topfind" ;;
- : unit = ()
Findlib has been successfully loaded. Additional directives:
  #require "package";;      to load a package
  #list;;                   to list the available packages
  #camlp4o;;                to load camlp4 (standard syntax)
  #camlp4r;;                to load camlp4 (revised syntax)
  #predicates "p,q,...";;   to set these predicates
  Topfind.reset();;         to force that packages will be reloaded
  #thread;;                 to enable threads

- : unit = ()
# #require "compiler-libs.toplevel" ;;
/Users/leonidrozenberg/.opam/4.02.1/lib/ocaml/compiler-libs: added to search path
/Users/leonidrozenberg/.opam/4.02.1/lib/ocaml/compiler-libs/ocamlcommon.cma: loaded
/Users/leonidrozenberg/.opam/4.02.1/lib/ocaml/compiler-libs/ocamlbytecomp.cma: loaded
/Users/leonidrozenberg/.opam/4.02.1/lib/ocaml/compiler-libs/ocamltoplevel.cma: loaded
# let a x = x + 1 ;;
>> Fatal error: a unbound at toplevel
Fatal error: exception Misc.Fatal_error