prev | next | contents


Part D: GLOSSARY

   Here is a list of terms and concepts used throughout the documentation, with definitions and some examples where they are most likely needed.

Atom
A type is atomic if values of that type have no parts. A variable of atomic type is said to be or hold an atom.
Desequencing
Using the elements of a nonatom as successive items in a list. It is marked by the sharp sign (#).
Error
A condition where the language engine cannot proceed without some corrective action. If there is no action, or if it doesn't help, the languge engine will abort the running program(s) and produce a file reporting the error and whatever available information about how, where and from where it came.
Event
A condition to which the language engine responds by calling a handler, sending parameters with some relevance to the type of event and its specifics.
Global
A symbl is global if it can be seen from outside the file in which it is defined.
Handler
A routine that is called by the language engine because it is going to perform some action, completed some action or encountered an error condition. In theory, handlers may be called explicitly, but practicalapplications are scarce.
Identifier
A string of letters, digits and underscores, starting with a letter. What a letter is depends on implementation, but always includes the upper and loower case latin letters 'A' to 'Z' and 'a' to 'z'. Identifiers are case-sensitive, which mean that lowercasing or uppercasing a letter changes an identifier to another identifier.
Include (a file)
Associate a file so that its global symbols are somehow accessible, and run the top level code in that file.
Metadata
A set of properties relative to a symbol.
Name clash
The fact that two global symbols wear the same name and can be accessed without any namespace prefix. When this symbol is referred to, there is an ambiguity, which is the name clash.
Namespace
A collection of symbol names. A namespace has a name, and that name, followed by a colon, allows to access the symbols in the namespace.
Nonatom
A type is non-atomic if values of that type have parts. Variables that can hold a value of non-atomic type are said to be nonatoms.
Process
A memory area holding executable code. This entity makes sense for the operating system only. A program may start several processes, and terminates when all processes it spawned terminate.
Program
A set of instructions the language engine can decode and convert to executable machine instructions, the result of which is assumed to conform what the author of the program intended. A program starts in a main file; this file may enlist, ie include, other files, mostly function libraries.
Routine
A routine is a block of code which can be called and will return. You may provide parameters to a routine, and it may return a value. The routine call evaluates to that value if it exists. Routines have their own scope and may have private variables.
Scope
The area inside which a private symbol is visible. A scope block may have a name, has its own scope and may have its own private variables.
Symbol
A catchall word for routines and variables, as they share some common properties.
Thread
A continuous stream of code execution. A program may start several processes, and a process may start several threads. OpenEuphoria languahe engine is aware oof threads, but all operating systems do not support them.
Type
A value is said to be of some type if it passes a check for tha type. In this respect, a value may have a plurality of typrs. A variable has only one type, and can hold any value passing the check for that type. The checks re performed using type functions; they are special kinds of routines. Some of them are provided by OpenEuphoria; others are user-defined.
Variable
Some data of various sizes and types, accessed through an identifier and called value of the variable. OpenEuphoria insists on the logical nature of a variable, as opposed to its physical attributes like RAM location, actual size and layout.

prev | next | contents