Предопределенные атомы HomeLisp


Ниже описываются предопределенные атомы-константы HomeLisp. Часть этих атомов встроены в ядро языка, часть создаются вызовами CSETQ при загрузке стандартной библиотеки. Имена встроенных функций также явлются предопределенными атомами. Встроенные функции описываются в разделе Описание встроенных функций.

Встроенные атомы
Имя встроенного атома Описание встроенного атома
_VER

Атом, имеющий в списке свойств индикаторы APVAL и STRING. Значением атома является строка символов "HomeLisp Вер. N.m.k (Файфель Б.Л.)" Здесь N, m и k - номера версии, подверсии и ревизии соответственно.

APVAL

Стандратный флаг свойства "быть константой или иметь определяющее выражение"

BITS

Стандратный флаг свойства "иметь значением строку битов"

BLOB

Стандратный флаг свойства "являться большим двоичным объектом" (Binary Large Object - BLOB).

BRKSTATE

Атом, обозначающий, что вычисление было прервано кнопкой STOP.

COM

Стандратный флаг свойства "быть COM-объектом"

CONTROL

Стандартный флаг "являться контролом (элементом управления)"

DIALOG

Стандартный флаг "являться диалогом"

ERRSTATE

Атом, обозначающий, что при вычислении произошла ошибка. Выработка результата ERRSTATE вызывает прекращение вычислений.

EXPR

Стандратный флаг свойства "быть функцией типа EXPR"

FEXPR

Стандратный флаг свойства "быть функцией типа FEXPR"

FIXED

Стандратный флаг свойства "иметь значением число типа FIXED"

FLOAT

Стандратный флаг свойства "иметь значением число типа FLOAT"

FSUBR

Стандратный флаг свойства "быть встроенной функцией типа FSUBR"

FUNARG

Служебный атом, использующийся при вычислении функциональных аргументов. Результат вычисления выражения (FUNCTION ff) является S-выражение: (FUNARG ff nn). Здесь ff - имя функции, а nn - текущее значение указателя заполнения ассоциативного списка.

LAMBDA

Служебный атом,использующийся при создании функций (как именованных, так и безымянных)

MACRO

Стандратный флаг свойства "быть функцией типа MACRO". Такие функции вычисляются в два этапа: сначала проиходит обычное вычисление (аналогичное вычислению функции FEXPR), а затем полученное S-выражение снова передается на вход EVAL.

NIL

Этот атом используется двумя способами: как логическое "Ложь", как признак конца списка.

FILE

Стандартный флаг свойства "являтся файлом"

STRING

Стандратный флаг свойства "иметь значением строку символов"

SUBR

Стандратный флаг свойства "быть встроенной функцией типа SUBR"

T

Атом, обозначающий логическую истину.

WINDOW

Стандартный флаг свойства "являться графическим окном".

Атомы, создаваемые при загрузке библиотеки
Имя встроенного атома Описание встроенного атома
_APPEND

Константа, предназначенная для открытия текстового файла в режиме APPEND. Значение константы равно 2.

_AQUA

Константа, задающая бирюзовый цвет. Значение равно &H00FFFF.

_BINARY_READ

Константа, предназначенная для открытия двоичного файла в режиме READ. Значение константы равно 3.

_BINARY_READ_WRITE

Константа, предназначенная для открытия двоичного файла в режиме READ/WRITE. Значение константы равно 5.

_BINARY_WRITE

Константа, предназначенная для открытия двоичного файла в режиме WRITE. Значение константы равно 4.

_BLACK

Константа, задающая черный цвет. Значение равно &H000000.

_BLUE

Константа, задающая синий цвет. Значение равно &H0000FF.

_BUTTON

Тип контрола - командная кнопка. Значение равно 5.

_CENTER

Признак выравнивания по центру. Значение равно 2.

_CHECK

Тип контрола - чекбокс. Значение равно 6.

_COMBO

Тип контрола - комбобокс. Значение равно 4.

_E

Математическая константа "e" с плавающей точкой, равная 2.718281828.

_FUCHSIA

Константа, задающая лиловый цвет. Значение равно &HFF00FF.

_GRAY

Константа, задающая серый цвет (50%). Значение равно &H808080.

_GREEN

Константа, задающая зеленый цвет. Значение равно &H008000.

_INPUT

Константа, предназначенная для открытия текстового файла в режиме INPUT (только для чтения). Значение константы равно 0.

_LABEL

Тип контрола - метка. Значение константы 1.

_LEFT

Признак выравнивания влево. Значение равно 0.

_LIST

Тип контрола - список. Значение константы 3.

_LIME

Константа, задающая ярко-зеленый цвет. Значение равно &H00FF00.

_MAROON

Константа, задающая темно-красный цвет. Значение равно &H800000.

_NAVY

Константа, задающая темно-синий цвет. Значение равно &H000080.

_OLIVE

Константа, задающая коричнево-зеленый (оливковый). Значение равно &H808000.

_OPTION

Тип контрола радиокнопка. Значение равно 7.

_OUTPUT

Константа, предназначенная для открытия текстового файла в режиме OUTPUT (только для записи). Значение константы равно 1.

_Pi

Математическая константа "пи" с плавающей точкой, равная 3.1415926535.

_PURPLE

Константа, задающая фиолетовый цвет. Значение равно &H800080.

_RED

Константа, задающая красный цвет. Значение равно &HFF0000.

_RIGHT

Выравнивание вправо. Значение равно 1.

_SILVER

Константа, задающая серый цвет (25%). Значение равно &HC0C0C0.

_TEAL

Константа, задающая сине-зеленый цвет. Значение равно &H008080.

_TEXT

Тип контрола поле ввода (текстбокс). Значение равно 2.

_WHITE

Константа, задающая белый цвет. Значение равно &HFFFFFF.

_YELLOW

Константа, задающая желтый цвет. Значение равно &HFFFF00.

KEY_ALL_ACCESS

Константа доступа к реестру. Значение равно &HF003F

HKEY_CLASSES_ROOT

Обозначение ветви реестра. Значение равно &H80000000

HKEY_CURRENT_CONFIG

Обозначение ветви реестра. Значение равно &H80000005

HKEY_CURRENT_USER

Обозначение ветви реестра. Значение равно &H80000001

HKEY_DYN_DATA

Обозначение ветви реестра. Значение равно &H80000006

HKEY_LOCAL_MACHINE

Обозначение ветви реестра. Значение равно &H80000002

HKEY_PERFORMANCE_DATA

Значение равно &H80000004

HKEY_USERS

Значение равно &H80000003

KEY_CREATE_LINK

Значение равно &H20

KEY_CREATE_SUB_KEY

Значение равно &H4

KEY_ENUMERATE_SUB_KEYS

Значение равно &H8

KEY_EXECUTE

Значение равно &H20019

KEY_NOTIFY

Значение равно &H10

KEY_QUERY_VALUE

Значение равно &H1

KEY_READ

Значение равно &H20019

KEY_SET_VALUE

Значение равно &H2

KEY_WRITE

Значение равно &H20006

REG_BINARY

Значение равно 3

REG_DWORD

Значение равно 4

REG_DWORD_BIG_ENDIAN

Значение равно 5

REG_DWORD_LITTLE_ENDIAN

Значение равно 4

REG_EXPAND_SZ

Значение равно 2

REG_LINK

Значение равно 6

REG_MULTI_SZ

Значение равно 7

REG_NONE

Значение равно 0

REG_RESOURCE_LIST

Значение равно 8

REG_SZ

Значение равно 1