### TADS 3 API Organization

The TADS 3 Application Program Interface (or "API," a term that refers collectively to the set of functions and methods that the system exposes in order to give programmers access to system functionality) is not simply a single set of native functions, as it was in TADS 2. Instead, the TADS 3 API is organized into several packages of functions and methods.

The names that TADS 3 uses for its intrinsic functions are different from the names of the corresponding functions from TADS 2. Furthermore, many TADS 2 functions are now object methods in TADS 3. Strings and lists in particular now behave like objects, so many of the former intrinsic functions that manipulate these types are now methods.

The following packages contain equivalents for most of the functions that TADS 2 provided:

- The "tads-gen" function set, which provides utility and type conversion functions.
- The "tads-io" function set, which provides input/output functions for the user interface and file system. All of these I/O functions are grouped together to allow different implementations to completely replace the user interface subsystem.
- The "t3vm" function set, which provides access to low-level VM information and operations.
- The String intrinsic class.
- The List intrinsic class.
- The Object intrinsic class.

In addition, TADS 3 offers several new packages of functionality with no equivalents in TADS 2:

- The BigNumber intrinsic class.
- The Dictionary intrinsic class.
- The GrammarProd intrinsic class.
- The Tokenizer class.
- The Vector intrinsic class.