LabLISP packages and symbols
Built-in LabLISP operators are represented by symbols from the base package LABLISP
.
Default package is the USER
package, which inherits all the base package symbols.
There is also KEYWORD
package with 3 symbols only: INTERNAL
, EXTERNAL
, INHERITED
.
Symbols &OPTIONAL
, &REST
, &WHOLE
and &BODY
are sometimes called keywords, but they are symbols interned in base package, and they are not bound to any value.
Packages are not represented by symbols for obvious reasons. They are accessed by the name string. Several more packages are defined through the LabLispHost mechanics.
Apart from the functions and special operators, these symbols are defined and bound:
NIL
and T
as constants.
PI
= 3.14159, is not defined as constant.
*PACKAGE*
is the current package.
*ALLOW-NON-LITERAL-CONST*
special LabLISP flag, default T.
*PRINT-SHARED*
control printing of shared list structure, default NIL.
Following 4 are internal processing flags, default NIL.
*MACROEXPAND-ONLY*
*BACKQUOTE-CONTEXT*
*BACKQUOTE-SPLICE*
*FUNCTOR-EVAL*