# Part IV: The Intrinsics

This part describes the "intrinsic" functions and classes, which are features built into the VM itself.

Although the intrinsics are built into the VM, they look and behave much the same as ordinary functions and objects that you would define in your own program. You access their functionality the same way you would access ordinary functions and objects, using the standard function call syntax and the standard object and method syntax.

There are two main reasons that certain features are built into the VM, rather than provided as library code. The first is that the VM doesn't itself provide any access to the external operating system environment, so the only way to gain access to that environment is through these native-code extensions to the VM. Any features that require OS interaction thus have to be implemented as intrinsics. The second reason is that certain common operations are very computationally expensive, so they run much faster when implemented as native machine code rather than as interpreted VM byte-code. When an operation is both computationally intensive and common enough that many programs will benefit substantially from the speed improvement, an intrinsic implementation might be justified.

t3vm Function Set
tads-gen Function Set
Regular Expressions
tads-io Function Set
tads-net Function Set
Network Safety
Input Scripts
Byte Packing
BigNumber
ByteArray
CharacterSet
Collection
Date
Dictionary
DynamicFunc
File
FileName
GrammarProd
HTTPRequest
HTTPServer
IntrinsicClass
Iterator
List
LookupTable
Object
RexPattern
StackFrameDesc
String
StringBuffer
StringComparator
TadsObject
TemporaryFile
TimeZone
Vector
WeakRefLookupTable

TADS 3 System Manual
Table of Contents | The Intrinsics
Prev: VM Run-Time Error Codes Next: t3vm Function Set