FDO Overview
FDO is the language used to control America Online clients. FDO is an acronym that originally stood for Form Definition Opcode. However it has also been called Form Definition Operator. As the name suggests, FDO is used to define many of the forms (windows) displayed by the client. Though FDO provides additional capabilities to manipulate the client.
There are two dialects of FDO: FDO88 (FDO Version 1988), and FDO91 (FDO Version 1991). The FDO88 dialect is supported by the MagicCap, GEOS, and Macintosh (2.7 and earlier) clients. The FDO91 dialect is used by all of the Windows clients, and Macintosh 3.0 and later clients.
Note
Throughout this site, any references to FDO are assumed to be the FDO91 dialect unless specified otherwise.
Atoms
The fundamental unit of FDO is the atom. An atom is simply an FDO command.
Unlike many programming languages, FDO only contains commands. That is, it
does not have keywords like def
, else
, while
, (Python), const
, void
,
virtual
(C++), or ElseIf
, For Each
, Let
(Visual Basic). Despite only
providing commands, FDO does have capabilities (by way of specific atoms) for
common programming constructs such as looping, subroutines, and comments. FDO
also includes atoms that are specific to client interaction and manipulation.
Here is the equivalent of a Hello World program in FDO:
Protocols
Atoms are grouped by client functionality into protocols. (1) The first part
of the atom name describes the protocol the atom belongs to. For example, atoms
that start with uni_
belong to the UNI
(universal) protocol.
- The word protocol is used in the general sense, as in set of conventions. Do not confuse an FDO protocol for a network protocol (such as TCP or IP).
Compiling FDO
Before FDO can be used by the client, it must first be compiled into a binary format. Here is a hex dump of the Hello World program after compiling: