A library is a collection of subprograms, including user-named procedures, functions, and packages.
Libraries provide a convenient means of storing client-side program units and sharing them among multiple applications.
Once you create a library, you can attach it to any other form, menu, or library module. Then, you can call library program units from triggers, menu item commands, and user-named routines you write in the modules to which you have attached the library.
The same library can be attached to multiple forms and menus. Conversely, a single form or menu can have more than one attached library.
Libraries can also be attached to other libraries. When a library attaches another library, program units in the first library can reference program units in the attached library.
Libraries support dynamic loading --that is, a library's program units are loaded into an application only when needed. This can significantly reduce the runtime memory requirements of an application.