# The standard library

This chapter describes the functions provided by the Caml Light standard library. Just as the modules from the core library, the modules from the standard library are automatically linked with the user's object code files by the `camlc` command. Hence, the globals defined by these libraries can be used in standalone programs without having to add any `.zo` 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 `.zo` file in memory.

Unlike the modules 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
- `arg`: parsing of command line arguments
- `baltree`: basic balanced binary trees
- `filename`: operations on file names
- `format`: pretty printing
- `gc`: memory management control and statistics
- `genlex`: a generic lexical analyzer
- `hashtbl`: hash tables and hash functions
- `lexing`: the run-time library for lexers generated by camllex
- `map`: association tables over ordered types
- `parsing`: the run-time library for parsers generated by camlyacc
- `printexc`: a catch-all exception handler
- `printf`: formatting printing functions
- `queue`: queues
- `random`: pseudo-random number generator
- `set`: sets over ordered types
- `sort`: sorting and merging lists
- `stack`: stacks
- `sys`: system interface