example, if one wanted to represent the national capitals of the United States: Set Capital("United States")="Washington" Set Capital("United States",1774,1776)="Philadelphia" Set Capital("United States",1776,1777)="Baltimore" Variables are created on demand when first assigned to. Thus, the first Set command above would create the variable Capital. Variables have scope in the language, and are called local variables. A database access looks like an array access, for example: Set ^Capital("United States")="Washington" but the caret (^) means that it is a database access. Variables used for database access have a single global scope, and of course persist and shared between processes. They are called global variables. The first 31 characters of a variable name are significant. The Kill and ZKill commands are used to delete subtrees of values. GT.M uses Unicode (ISO/IEC-10646) for international character set support. Database subsystem The logical database of a GT.M process consists of one or more global variable name spaces, each consisting of unlimited number of global variables. For each global variable name space, a global directory maps global variables to the database files where they actually reside. An unlimited number of global variables can fit within one database file; a global variable must fit in one database file. A database file consists of up to 224M (276,168,704) database blocks. A database block is a multiple of 512 bytes, with a maximum size of 65,024 bytes. Commonly used block sizes are 4KB, 8KB and 16KB - so, with an 8KB block size, an individual global variable can grow to 1,792GB. A global variable node (global variable, subscripts plus value) must fit in one database block and each block has a 16 byte overhead. So, the largest node that will fit in a database with a 4KB block size is 4,080 bytes. A key (global variable plus subscripts) can be up to 255 bytes. The database engine is daemonless and processes accessing the database operate with normal user and group ids - a process has access to a database file if and only if the ownership and permissions of that database file (plus any layered access control such as SELinux) permits access. Each process has within its address space all the logic needed to manage the database, and processes cooperate with one another to manage database files. When a database file is journaled, updates are written to journal files before being written to database files, and in the event of a system