# Terminology

Some words in Dusk OS refer to particular concepts that we try to keep
consistent across the code and documentation.

# Range

A range is an area of memory with a definite start address and size. On PS, it
is represented as two elements, starting with the address, and then the size.

Words like "move" operate on ranges.

In word signatures, a range will often look like ( a u -- ), but sometimes,
letters are added to "a" to indicate the type of data in the range. For example,
an "unpacked" string (a string from which we're reading the first length byte)
will be shown as ( sa sl -- ), for "string address" and "string length". This is
a range too.

In words, ranges are represented as the characters "[]".

# String

Strings in Dusk OS are ranges where the first byte of the range contains its
length. On PS, they are passed around as a single element, the address of the
length byte. It will often look like ( str -- ) or ( s -- ).

# Entry

An entry into a dictionary, usually the system dictionary.
These contain a name, a pointer to the next entry, and some data.

Entries are often shown as "e" in signature. The signature "( e -- )" means that
a pointer to an entry (which is a pointer to its "next" field) is on PS top.

# Word

A reference to the "payload" part of an entry. Often shown as "w", which means
a pointer to that payload. Words are executable, that is, a "( w -- )" signature
means that you could call "execute" directly and it would call that word.
