# Chapter 8 Language extensions

This chapter describes language extensions and convenience features that are implemented in OCaml, but not described in the OCaml reference manual.

- 8.1 Recursive definitions of values
- 8.2 Recursive modules
- 8.3 Private types
- 8.4 Local opens for patterns
- 8.5 Locally abstract types
- 8.6 First-class modules
- 8.7 Recovering the type of a module
- 8.8 Substituting inside a signature
- 8.9 Type-level module aliases
- 8.10 Overriding in open statements
- 8.11 Generalized algebraic datatypes
- 8.12 Syntax for Bigarray access
- 8.13 Attributes
- 8.14 Extension nodes
- 8.15 Extensible variant types
- 8.16 Generative functors
- 8.17 Extension-only syntax
- 8.18 Inline records
- 8.19 Documentation comments
- 8.20 Extended indexing operators
- 8.21 Empty variant types
- 8.22 Alerts
- 8.23 Generalized open statements
- 8.24 Binding operators