1 Language Structure
The EULISP definition comprises the following items:
-
Level-0:
- comprises all the level-0 classes, functions,
defining forms and special forms , which is this text minus
§17. The object system can be extended by user-defined
structure classes, and generic functions.
-
Level-1:
- extends level-0 with the classes, functions,
defining forms and special forms defined in §17. The
object system can be extended by user-defined classes
and metaclasses. The implementation of level-1 is not
necessarily written or writable as a conforming level-0
program.
A level-0 function is a (generic) function defined in this text to
be part of a conforming processor for level-0. A function
defined in terms of level-0 operations is an example of a level-0
application.
Much of the functionality of EULISP is defined in terms of modules
. These modules might be available (and used) at any level, but
certain modules are required at a given level. Whenever a module
depends on the operations available at a given level, that
dependency will be specified.
EULISP level-0 is provided by the module level-0. This module
imports and re-exports the modules specified in table 1.
Modules comprising eulisp0:
This definition is organized in three parts:
-
Sections 9–12:
- describes the core of level-0 of EULISP,
covering modules, simple classes, objects and generic
functions, threads, conditions, control forms and events. These sections contain the information about EULISP that
characterizes the language.
-
Section 16:
- describes the classes required at level-0 and
the operations defined on instances of those classes. The
section is organized by module in alphabetical order. These
sections contain information about the predefined classes
in EULISP that are necessary to make the language usable,
but is not central to an appreciation of the language.
-
Section 17:
- describes the reflective aspects of the object
system and how to program the metaobject protocol and
some additional control forms.
Prior to these, sections 2–8 define the scope of the text, cite
normative references, conformance definitions, error definitions,
typographical and layout conventions and terminology definitions
used in this text.