ch2_3_pack_sym
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
ch2_3_pack_sym [2021/04/25 02:12] – admin | ch2_3_pack_sym [2025/01/29 08:35] (current) – admin | ||
---|---|---|---|
Line 26: | Line 26: | ||
'' | '' | ||
- | Finds symbol by name in a package. Expects one string argument - the symbol name - and optional argument which is a package designator. Package designator can be string or symbol or package object itself. If the package name is not supplied, dynamic current package is used. Returns the symbol if it is found, otherwise '' | + | Finds symbol by name in a package. Expects one string argument - the symbol name - and optional argument which is a package designator. Package designator can be string or symbol or package object itself. If the package name is not supplied, dynamic current package is used. Returns the symbol if it is found, otherwise '' |
<code lisp> | <code lisp> | ||
> | > | ||
- | : | ||
PI | PI | ||
+ | : | ||
> | > | ||
- | : | ||
PI | PI | ||
+ | : | ||
</ | </ | ||
Line 65: | Line 65: | ||
'' | '' | ||
- | Like '' | + | Like '' |
<code lisp> | <code lisp> | ||
>(intern " | >(intern " | ||
- | NIL ; NIL means that it is a new symbol | ||
BLA | BLA | ||
+ | NIL ; NIL means that it is a new symbol | ||
>(intern " | >(intern " | ||
- | : | ||
BLA | BLA | ||
+ | : | ||
</ | </ | ||
Line 120: | Line 120: | ||
> | > | ||
#<The P1 package> | #<The P1 package> | ||
+ | </ | ||
+ | |||
+ | '' | ||
+ | |||
+ | No arguments, returns list of all packages in the environment. | ||
+ | |||
+ | <code lisp> | ||
+ | > | ||
+ | (#<The USER package> #<The LABLISP package> #<The KEYWORD package> | ||
</ | </ | ||
'' | '' | ||
+ | |||
+ | Adds one or more packages to be used by a target package. Exported symbols from the source package(s), will be accessible through the target package. First argument is package designator or list of package designators. Second argument is optional target package designator, default is the dynamic current package.((dynamic current package means package bound to *PACKAGE* symbol in dynamic environment)) | ||
+ | |||
+ | Beware of name conflicts! | ||
+ | |||
+ | <code lisp> | ||
+ | > | ||
+ | T | ||
+ | </ | ||
'' | '' | ||
+ | |||
+ | Removes one or more packages from a target package' | ||
+ | |||
+ | <code lisp> | ||
+ | > | ||
+ | T | ||
+ | </ | ||
+ | |||
+ | '' | ||
+ | |||
+ | Lists all packages that are used by a target package. Single argument is target package designator. The argument is optional, defaults to the dynamic current package. | ||
+ | |||
+ | Following two examples assume the situation after the '' | ||
+ | |||
+ | <code lisp> | ||
+ | > | ||
+ | (#<The P1 package> #<The LABLISP package> | ||
+ | </ | ||
+ | |||
+ | '' | ||
+ | |||
+ | Lists all packages that use a target package. Single argument is target package designator. The argument is optional, defaults to the dynamic current package. | ||
+ | |||
+ | <code lisp> | ||
+ | > | ||
+ | (#<The P2 package> | ||
+ | </ | ||
+ | |||
'' | '' | ||
- | '' | + | Symbol becomes internal of the target package, if the symbol was // |
+ | |||
+ | Beware of name conflicts! | ||
'' | '' | ||
- | '' | + | Removes symbol from package, so it is no longer accessible as internal or external symbol. If the package is the symbol's home pacakge, then the symbol becomes // |
- | '' | + | The name '' |
- | '' | + | '' |
- | '' | + | Makes inherited or internal symbol to be external in given package. If the symbol is inherited, |
+ | |||
+ | Beware of name conflicts! | ||
+ | |||
+ | '' | ||
+ | |||
+ | Undoes '' | ||
'' | '' | ||
+ | |||
+ | Lists all internal symbols of a target package. Single argument is target package designator. The argument is optional, defaults to the dynamic current package. | ||
'' | '' | ||
+ | |||
+ | Lists all external symbols of a target package. Single argument is target package designator. The argument is optional, defaults to the dynamic current package. | ||
ch2_3_pack_sym.1619338360.txt.gz · Last modified: 2021/04/25 02:12 by admin