Chapter 19 | The standard library

This chapter describes the functions provided by the Caml Light standard library. The modules from the standard library are automatically linked with the user's object code files by the `ocamlc` command. Hence, these modules can be used in standalone programs without having to add any `.cmo` file on the command line for the linking phase. Similarly, in interactive use, these globals can be used in toplevel phrases without having to load any `.cmo` file in memory.
Unlike the `Pervasive` module from the core library, the modules from the standard library are not automatically ``opened'' when a compilation starts, or when the toplevel system is launched. Hence it is necessary to use qualified identifiers to refer to the functions provided by these modules, or to add `open` directives.

Conventions

For easy reference, the modules are listed below in alphabetical order of module names. For each module, the declarations from its signature are printed one by one in typewriter font, followed by a short comment. All modules and the identifiers they export are indexed at the end of this report.

- Module `Arg`: parsing of command line arguments
- Module `Array`: array operations
- Module `Buffer`: extensible string buffers
- Module `Callback`: registering Caml values with the C runtime
- Module `Char`: character operations
- Module `Digest`: MD5 message digest
- Module `Filename`: operations on file names
- Module `Format`: pretty printing
- Module `Gc`: memory management control and statistics; finalised values
- Module `Genlex`: a generic lexical analyzer
- Module `Hashtbl`: hash tables and hash functions
- Module `Int32`: 32-bit integers
- Module `Int64`: 64-bit integers
- Module `Lazy`: deferred computations.
- Module `Lexing`: the run-time library for lexers generated by `ocamllex`
- Module `List`: list operations
- Module `Map`: association tables over ordered types
- Module `Marshal`: marshaling of data structures
- Module `Nativeint`: processor-native integers
- Module `Oo`: object-oriented extension
- Module `Parsing`: the run-time library for parsers generated by `ocamlyacc`
- Module `Printexc`: a catch-all exception handler
- Module `Printf`: formatting printing functions
- Module `Queue`: first-in first-out queues
- Module `Random`: pseudo-random number generator
- Module `Set`: sets over ordered types
- Module `Sort`: sorting and merging lists
- Module `Stack`: last-in first-out stacks
- Module `Stream`: streams and parsers
- Module `String`: string operations
- Module `Sys`: system interface
- Module `Weak`: arrays of weak pointers