1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 \section{Symbols and Packages
}
3 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6 \IT{\arrGOO{(
\FU*
{SYMBOLP
} \VAR{ foo
})\\
7 (
\FU*
{PACKAGEP
} \VAR{ foo
})
}{\
}}}
8 Return
\retval{\T} if
\VAR{foo
} is of type
\kwd{symbol
} or
11 \IT{(
\FU*
{BOUNDP
} \VAR{symbol
})
}
12 \retval{\T} if
\VAR{symbol
} is bound.
14 \IT{(
\FU*
{KEYWORDP
} \VAR{foo
})
}
15 \retval{\T} if
\VAR{foo
} is a keyword.
17 \IT{\KWD*
{:
}\VAR{foo
}}
18 Keyword, evaluates to
\retval{:
\VAR{foo
}}
21 Truth, or
\V{*terminal-io*
}.
23 \IT{\Goo{(
\CNS*
{NIL
})
\XOR{\kwd*
{()
}}}}
24 Falsehood, the empty list,
\V{*standard-input*
},
25 \V{*standard-output*
}, or the global environment.
27 \IT{(
\FU*
{MAKE-PACKAGE
} \VAR{name
}
28 \orGOO{\kwd{:nicknames
}(
\OPn{\VAR{nick
}})
\DF{\NIL}\\
29 \kwd{:use
}(
\OPn{package
})
}{\
}})
}
30 Create
\retval{package
\VAR{name
}}.
32 \IT{(
\kwd*
{DEFPACKAGE
}\VAR{ foo
}
33 \orGOO{\OPn{(
\kwd{:use
}\OPn{\VAR{bar
}})
}\\
34 \OPn{(
\kwd{:nicknames
}\OPn{\VAR{nick
}})
}\\
35 (
\kwd{:documentation
}\VAR{doc
})\\
36 \OPn{(
\kwd{:export
}\OPn{\VAR{baz
}})
}\\
37 \OPn{(
\kwd{:import-from
}\VAR{p
} \OPn{\VAR{n
}})
}\\
38 \OPn{(
\kwd{:intern
}\OPn{\VAR{n
}})
}\\
39 \OPn{(
\kwd{:shadow
}\XOR\Goo{\kwd{:shadowing-import-from
}\VAR{ p
}\OPn{\VAR{ jnk
}}})
}\\
40 (
\kwd{:size
}\VAR{int
})\\
42 Return
\retval{defined package
\VAR{foo
}} which inherits symbols
43 exported by packages
\VAR{bar
} excluding
\VAR{jnk
}s and some
44 symbols.
\VAR{n
}s from package
\VAR{p
}; exports
\VAR{baz
}es.
46 \IT{(
\FU*
{RENAME-PACKAGE
} \VAR{package
} \Op{(
\OPn{nick
})
\DF{\NIL}})
}
47 Rename
\VAR{package
}. Return
\retval{renamed package
}.
49 \IT{(
\kwd*
{IN-PACKAGE
}\VAR{foo
})
}
50 Make
\retval{package
\VAR{foo
}} current.
52 \IT{(
\FU*
{USE-PACKAGE
} (
\OPn{\VAR{foo
}})
53 \Op{\VAR{package
}}\DF{\kwd{*package*
}})
}
54 Make exported symbols of packages
\VAR{foo
} available in
55 \VAR{package
}. Return
\retval{\T}.
57 \IT{(
\FU*
{UNUSE-PACKAGE
} (
\OPn{\VAR{foo
}})
58 \Op{\VAR{package
}}\DF{\kwd{*package*
}})
}
59 Remove packages
\VAR{foo
} from use-list of
\VAR{package
}.
61 \IT{(
\FU*
{DELETE-PACKAGE
} \VAR{package
})
}
62 Delete
\VAR{package
}. Return
\retval{\T} if successful.
64 \IT{\V*
{*package*
}} The current package.
66 \IT{(
\FU*
{LIST-ALL-PACKAGES
})
}
67 \retval{List of registered packages
}.
69 \IT{(
\FU*
{PACKAGE-NAME
} \VAR{package
})
}
70 \retval{Name of
\VAR{package
}}.
72 \IT{(
\FU*
{PACKAGE-NICKNAMES
} \VAR{package
})
}
73 \retval{List of nicknames
} of
\VAR{package
}.
75 \IT{(
\FU*
{FIND-PACKAGE
} \Goo{\VAR{name
}\XOR\VAR{package
}})
}
76 Return
\retval{package object
} with
\VAR{name
} (case-sensitive).
78 \IT{(
\FU*
{PACKAGE-USE-LIST
} \VAR{package
})
}
79 \retval{List of other packeges
} used by
\VAR{package
}.
81 \IT{(
\FU*
{PACKAGE-USED-BY-LIST
} \VAR{package
})
}
82 \retval{List of other packages
} using
\VAR{package
}.
84 \IT{(
\FU*
{MAKE-SYMBOL
} \VAR{name
})
}
85 Make fresh, uninterned
\retval{symbol
\VAR{name
}}.
87 \IT{(
\FU*
{COPY-SYMBOL
} \VAR{symbol
} \Op{\VAR{props
}\DF{\NIL}})
}
88 Return uninterned
\retval{copy of
\VAR{symbol
}}. If
\VAR{props
} is
89 \T, the copy has the same value, function, and property list.
91 \IT{(
\FU*
{FIND-ALL-SYMBOLS
} \VAR{string
})
}
92 Return
\retval{list of symbols
} with name
\VAR{string
} from all
95 \IT{(
\FU*
{SYMBOL-PACKAGE
} \VAR{foo
})
}
96 Return the
\retval{package
\VAR{foo
} came from
}.
98 \IT{(
\xorGOO{\FU*
{INTERN
}\\
99 \FU*
{FIND-SYMBOL
}}{\
} \VAR{name
} \Op{\VAR{package
}}})
}
100 Intern or find, resp.,
\retval{symbol
\VAR{name
}} in
101 \VAR{package
}. Second return value is one of
102 \retvalii{\kwd{:internal
}},
\retvalii{\kwd{:external
}}, or
103 \retvalii{\kwd{:inherited
}}.
105 \IT{(
\kwd*
{UNINTERN
} \VAR{symbol
} \Op{\VAR{package
}})
}
106 Remove
\VAR{symbol
} from
\VAR{package
}, return
\retval{\T} on success.
108 \IT{(
\xorGOO{\FU*
{IMPORT
}\\
109 \FU*
{SHADOWING-IMPORT
}}{\
}}\RP{\VAR{symbol
}}
110 \Op{\VAR{package
}\DF{\kwd{*package*
}}})
}
111 Make
\VAR{symbol
}s internal to
\VAR{package
}. Return
\retval{\T}. In
112 case of a name conflict, signal
\kwd{package-error
}, or shadow
113 the old symbol, resp.
115 \IT{(
\FU*
{SHADOW
} \RP{\VAR{symbol
}}
116 \Op{\VAR{package
}\DF{\kwd{*package*
}}})
}
117 Add
\VAR{symbol
}s to shadowed list of
\VAR{package
}. Return
\retval{\T}.
119 \IT{(
\FU*
{PACKAGE-SHADOWING-SYMBOLS
} \VAR{package
})
}
120 \retval{List of shadowing symbols
} of
\VAR{package
}.
122 \IT{(
\FU*
{EXPORT
} \VAR{symbols
} \Op{\VAR{package
}\DF{\kwd{*package*
}}})
}
123 Make
\VAR{symbols
} external to
\VAR{package
}. Return
\retval{\T}.
125 \IT{(
\FU*
{UNEXPORT
} \VAR{symbols
} \VAR{package
})
}
126 Revert
\VAR{symbols
} to internal status. Return
\retval{\T}.
128 \IT{(
\GFU*
{DOCUMENTATION
} \kwd{'
}\VAR{foo
}
129 \Goo{\kwd{variable
}\XOR\kwd{function
}\XOR
130 \kwd*
{compiler-macro
}\XOR
131 \kwd{method-combination
}\XOR
132 \T\XOR\kwd{structure
}
133 \XOR\kwd{type
}\XOR\kwd{setf
}\XOR\T})
}
134 Return
\retval{documentation string
} of
\VAR{foo
} of given
135 type.
\kwd{setf
}able.
139 \FU*
{DO-ALL-SYMBOLS
}\\
140 \FU*
{DO-SYMBOLS
}}{\
}}
141 (
\VAR{var
} \OP{\VAR{package
} \Op{\VAR{result
}}})\\
142 \FU*
{DO-EXTERNAL-SYMBOLS
} (
\VAR{var
} \Op{\VAR{result
}})
}{\
}}
143 \OPn{(
\kwd{declare
} \OPn{\VAR{decl
}})
}
146 Evaluate
\VAR{form
}s with
\VAR{var
} successively bound to all
147 symbols from all registered packages, to all symbols from
148 \VAR{package
}, or to all external symbols from
\VAR{package
}, resp. Return
149 \retval{value of
\VAR{result
}}.
151 \IT{(
\SF*
{WITH-PACKAGE-ITERATOR
} (
\VAR{name
} \RP{\VAR{package
}}
152 \Op{\kwd{:internal
}\XOR\kwd{:external
}\XOR\kwd{:inherited
}})
153 \OPn{(
\kwd{declare
} \OPn{\VAR{decl
}})
} \OPn{\VAR{form
}})
}
154 Return
\retval{values of
\VAR{form
}s
}. In the body, successive
155 invocations of (
\VAR{name
}) return:
\T\ if a symbol is returned;
156 a symbol from a
\VAR{package
}; accessibility
157 (
\kwd{:internal
},
\kwd{:external
}, or
\kwd{:inherited
}); and the
158 package the symbol belongs to.
160 \IT{(
\FU*
{SYMBOL-NAME
} \VAR{ symbol
})
}
161 \retval{Name
} of
\VAR{symbol
}.
163 \IT{\arrGOO{(
\FU*
{SYMBOL-FUNCTION
} \VAR{ symbol
})\\
164 (
\FU*
{SYMBOL-VALUE
} \VAR{ symbol
})\\
165 (
\FU*
{SYMBOL-PLIST
} \VAR{ symbol
})
}{\
}}}
166 \retval{Function
},
\retval{value
}, or
\retval{property list
}, resp., of
\VAR{symbol
}.
\kwd{setf
}able.