The lib-helper Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The lib-helper Reference Manual

This is the lib-helper Reference Manual, version 1.10.1, generated automatically by Declt version 3.0 "Montgomery Scott" on Sun May 15 03:55:28 2022 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

LIB-HELPER

Motive

If you have looked at your screen bewildered, trying to remember a function or an object name in Common-Lisp standard library, then this package may help you. There are more than 970 of those functions and objects (i.e. symbols) and I don't think everybody can browse through them easily when they are listed in CL package altogether.

In addition, there are thousands of third party libraries. How can one use a number of them together without constantly checking their source code, help and readme files all the time? There are different ways to organise knowledge and reach it and categorising them is one of them, if not the most efficient.

Some other languages may be seen as having the advantage of organising their standard library hierarchically, or at least with one level of grouping.

Having such a central group of packages to organise others (packages) might give us an easy way to come up with a collection of de-facto standard library composed of popular libraries.

In addition, this system gives you packages corresponding to classes and their related symbols and specialised methods under that package. This is similar to what you get with member & encapsulation based OOP-style code completion in other languages.

Description

This is an organisation of popular functionalities in a central, easy-to-browse set of packages. This library by itself doesn't add any utility function to common-lisp, instead it just reorganises the work of others in an easier to reach structure.

The taxonomy selection is mainly based on groups from clhs sections, cl-cookbook and some other common programming languages' standard libraries.

Some symbols may be exported from multiple packages, when I think that there's strong overlap and that one might look for the same symbol in different packages.

The goal of this library is to create a hierarchy of packages with the sole purpose of organising existing packages and symbols independently, thus without imposing anything on them. That's why in summary all it does is import symbols from others and re-export them from suitable places in the hierarchy.

For this purpose, lib-helper creates its package hierarchy with names under LIB.* (note that these packages include CL standard symbols too).

Since CL itself puts all its standard library in a flat list, it can also benefit from such grouping. That's why I kept a pure CL hierarchy of packages under the names STD.*

Usage

A screen recording of example usage: https://youtu.be/NygQTvbkMjY

A typical usage might be with slime/sly loaded (or using your IDE's completion drop-down), start typing "(lib." on repl and hit tab to get a list of packages starting with name lib., then shortlist and find what you're looking for. Though I'm having trouble running this scenario smoothly.

Or type "(lib:" and see the list of items in that group in a dropdown.

Libraries are arranged in a hierarchy. Child level packages are created as symbols starting with a dot in the parent level. This way, after choosing the completion for a child level, one can change the dot to a colon to check the lower level's symbols, and keep going down the hierarchy until they reach a target. The way it works is:

Assume some symbols at a level is at:

lib.lvl1.lvl2:<symbols>

Then a dropdown at lib.lvl1: would give:

lib.lvl1:
         .lvl2
         *any other symbol in lvl1*

choosing lib.lvl1:.lvl2, then editing the line to get lib.lvl1.lvl2: will give the list of *symbols* that we're looking for.

e.g. try to get to lib.str.comp:*

After finding what you were looking for, you can either use the symbol from the package you found, or use it directly from its original package. The primary purpose of this library is to let you find things, not to alter your coding convention (although using the package names of this library might improve readability - although this claim is not tested yet).

Speaking of finding, check the (lib:find-syms) function description below, it is quite powerful.

Classes as packages

With 2021-08-12 commit, we now have this interesting feature. If a package has a class defined in it, then there will be a corresponding package with that class name, and all the methods specialised to that class + slot accessors will be symbols under that package. This way, you can see all relevant methods in one place, instead of trying to guess or using clos functions to find the specialisations. A class symbol pointing to the sub package will be starting with double-dots ".." instead of single as is the case for sub packages.

e.g.

(lib.cont.lil.interface:

tab completion above will list lots of classes defined in interface package, all starting with .., so:

(lib.cont.lil.interface:..

will filter only the classes under interface. Then, choose the class <any>, for example:

(lib.cont.lil.interface..<any>:

and you'll see symbols specialised for that class.

Try to find your more favorite system / class as example.

Lazy system loading

Third party systems are not listed as system dependencies in .asd file, but instead dynamically loaded as requested. For example, alexandria is not a dependency, but their symbols are in the lib-defs.lisp, and they are interned with symbol names ending with a ~.

When you want to use, e.g. alexandria:cswitch, you should first find and call:

(lib.lang.flow:cswitch~)

Which will load the corresponding system, alexandria, then intern all the symbols of alexandria to their target packages in the hierarchy. Then you can call the previous command (or any other from the same system) without ~ at the end.

Btw, system loading is done by asdf, thus you should already have the corresponding system downloaded and asdf-reachable.

Name non-shadowing

If a symbol is exported from multiple systems/packages, then they are added to the symbols package list (in lib-defs.lisp) and for each package a symbol.N is created (except the first one is the symbol name).

Utilities

(lib:apropos-lib sub-str), (std:apropos-lib sub-str)

Look for symbols containing sub-str in the lib hierarchy and print the matching branches.

(lib:find-syms phrase), (std:find-syms phrase)

Given a number of words in the phrase (first word for the symbol, others for description and package path, find the closest matches within the lib hierarchy.

phrase can be either one string with multiple words, or a list of expressions (cl-ppcre re expressions).

Match will be listed for:

(first phrase) contained in symbol name AND
(every (rest phrase)) contained in path or symbol description.

e.g.

(lib:find-syms "interface lil")

will list more results then:

(lib:find-syms "interface lil pure")

The way we extract the description of any symbol is: "symbol-path-in-hierarchy : any description in any symbol namespace"

This means lib-helper will search for function description, variable description, class or struct or macro description all the same, and concat them to the description. This gives us a powerful way to do search (or I call it a better apropos). For example to find any symbol with the word "structure" in its descriptions:

(lib:find-syms '(".*" "structure"))
or
(lib:find-syms ".* structure")

(lib:packages), (std:packages)

See the list of packages, printed with some grouping.

(lib:get-package-names), (std:get-package-names)

Get the list of package names under lib. or std.

(lib:delete-this-system), (std:delete-this-system)

Deletes all the LIB.* and STD.* packages and does an asdf:clear-system :lib-helper. If you change lib-defs.lisp or std-defs.lisp and want to update your current lisp image, just do a:

(lib:delete-this-system)
(asdf:load-system :lib-helper)

Implementations tested

Working for: sbcl2.1, clisp 2.49, lispworks 7.1

Contributing

The complete hierarchy is contained in a tree in either lib-defs.lisp (std + 3rd party) or std-defs.lisp (ansi symbols only). If you want to change / add libs, modifying these lists will be enough.

TODO

Improvement ideas

If you have ideas, I'll be more than happy to collaborate as time allows. One thing worth pursuing might be hierarchical packages (as is seen in some implementations).

History

[2021-12-21]

Major code restructuring. Looking at the lib-helper.asd should make it possible to understand the complete project, or at least help with it. Classes improved & separated, with additional contextual separations.

Also tests are added.

[2021-08-12]

Classes as packages.

[2021-08-09]

For some packages, I had included only the symbols of a package if they originated from that package. Now the decision is to include all external symbols of a package instead. e.g. uiop:define-package's :use-reexport, or a package manually exporting its imported symbols.

[2021-08-07]

Added find-symbols and apropos-lib. This is becoming quite useful!

[2021-08-01]

Add cl-containers. This library proves to be quite difficult to categorise, although it is organised quite well itself.

[2021-06-27]

Turn the base code into a package.

References

  1. http://www.lispworks.com/documentation/lw50/CLHS/Front/X_AllSym.htm
  2. http://www.lispworks.com/documentation/lw50/CLHS/Front/Contents.htm

License

Copyright (c) [2021] [Albus M Piroglu]

Licensed under the MIT License.


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 lib-helper

Maintainer

Albus M Piroglu <mattapiroglu@gmail.com>

Author

Albus M Piroglu <mattapiroglu@gmail.com>

License

MIT

Description

Reorganise existing symbols in standard and third party libs to common hierarchical packages.

Long Description

# LIB-HELPER

## Motive
If you have looked at your screen bewildered, trying to remember a
function or an object name in Common-Lisp standard library, then this package
may help you. There are more than 970 of those functions and objects (i.e. symbols) and
I don’t think everybody can browse through them easily when they are listed
in CL package altogether.

In addition, there are thousands of third party libraries. How can one use
a number of them together without constantly checking their source code, help and
readme files all the time? There are different ways to organise knowledge and reach
it and categorising them is one of them, if not the most efficient.

Some other languages may be seen as having the advantage of organising their
standard library hierarchically, or at least with one level of grouping.

Having such a central group of packages to organise others (packages) might give us an
easy way to come up with a collection of de-facto standard library composed of
popular libraries.

In addition, this system gives you packages corresponding to classes and their related symbols and specialised methods under that package. This is similar to what you get with member & encapsulation based OOP-style code completion in other languages.

## Description
This is an organisation of popular functionalities in a central, easy-to-browse
set of packages. This library by itself doesn’t add any utility function to common-lisp,
instead it just reorganises the work of others in an easier to reach structure.

The taxonomy selection is mainly based on groups from clhs sections, cl-cookbook and some other common programming languages’ standard libraries.

Some symbols may be exported from multiple packages, when I think that
there’s strong overlap and that one might look for the same symbol in
different packages.

The goal of this library is to create a hierarchy of packages with the sole purpose of organising existing packages and symbols independently, thus without imposing anything on them. That’s why in summary all it does is import symbols from others and re-export them from suitable places in the hierarchy.

For this purpose, lib-helper creates its package hierarchy with names under LIB.* (note that these packages include CL standard symbols too).

Since CL itself puts all its standard library in a flat list, it can also benefit from such grouping. That’s why I kept a pure CL hierarchy of packages under the names STD.*

## Usage

A screen recording of example usage: https://youtu.be/NygQTvbkMjY

A typical usage might be with slime/sly loaded (or using your IDE’s completion drop-down), start typing "(lib." on repl and hit tab to get a list of packages starting with name lib., then shortlist and find what you’re looking for. Though I’m having trouble running this scenario smoothly.

Or type "(lib:" and see the list of items in that group in a dropdown.

Libraries are arranged in a hierarchy. Child level packages are created as symbols starting with a dot in the parent level. This way, after choosing the completion for a child level, one can change the dot to a colon to check the lower level’s symbols, and keep going down the hierarchy until they reach a target. The way it works is:

Assume some symbols at a level is at:

lib.lvl1.lvl2:<symbols>

Then a dropdown at lib.lvl1: would give:

lib.lvl1:
.lvl2
*any other symbol in lvl1*

choosing lib.lvl1:.lvl2, then editing the line to get lib.lvl1.lvl2: will give the list of \*symbols\* that we’re looking for.

e.g. try to get to lib.str.comp:*

After finding what you were looking for, you can either use the symbol from the package you found, or use it directly from its original package. The primary purpose of this library is to let you find things, not to alter your coding convention (although using the package names of this library might improve readability - although this claim is not tested yet).

Speaking of finding, check the (lib:find-syms) function description below, it is quite powerful.

#### Classes as packages
With 2021-08-12 commit, we now have this interesting feature. If a package has a class defined in it, then there will be a corresponding package with that class name, and all the methods specialised to that class + slot accessors will be symbols under that package. This way, you can see all relevant methods in one place, instead of trying to guess or using clos functions to find the specialisations. A class symbol pointing to the sub package will be starting with double-dots ".." instead of single as is the case for sub packages.

e.g.

(lib.cont.lil.interface:

tab completion above will list lots of classes defined in interface package, all starting with .., so:

(lib.cont.lil.interface:..

will filter only the classes under interface. Then, choose the class \<any>, for example:

(lib.cont.lil.interface..<any>:

and you’ll see symbols specialised for that class.

Try to find your more favorite system / class as example.

#### Lazy system loading
Third party systems are not listed as system dependencies in .asd file, but instead dynamically loaded as requested. For example, alexandria is not a dependency, but their symbols are in the lib-defs.lisp, and they are interned with symbol names ending with a ~.

When you want to use, e.g. alexandria:cswitch, you should first find and call:

“‘
(lib.lang.flow:cswitch~)
“‘

Which will load the corresponding system, alexandria, then intern all the symbols of alexandria to their target packages in the hierarchy. Then you can call the previous command (or any other from the same system) without ~ at the end.

Btw, system loading is done by asdf, thus you should already have the corresponding system downloaded and asdf-reachable.

#### Name non-shadowing
If a symbol is exported from multiple systems/packages, then they are added to the symbols package list (in lib-defs.lisp) and for each package a symbol.N is created (except the first one is the symbol name).

### Utilities

#### (lib:apropos-lib sub-str), (std:apropos-lib sub-str)
Look for symbols containing sub-str in the lib hierarchy and
print the matching branches.

#### (lib:find-syms phrase), (std:find-syms phrase)
Given a number of words in the phrase (first word for the symbol, others for
description and package path, find the closest matches within the lib hierarchy.

phrase can be either one string with multiple words, or a list of expressions (cl-ppcre re expressions).

Match will be listed for:

(first phrase) contained in symbol name AND
(every (rest phrase)) contained in path or symbol description.

e.g.

(lib:find-syms "interface lil")

will list more results then:

(lib:find-syms "interface lil pure")

The way we extract the description of any symbol is:
"symbol-path-in-hierarchy : any description in any symbol namespace"

This means lib-helper will search for function description, variable description, class or struct or macro description all the same, and concat them to the description. This gives us a powerful way to do search (or I call it a better apropos). For example to find any symbol with the word "structure" in its descriptions:

(lib:find-syms ’(".*" "structure"))
or
(lib:find-syms ".* structure")

#### (lib:packages), (std:packages)
See the list of packages, printed with some grouping.

#### (lib:get-package-names), (std:get-package-names)
Get the list of package names under lib. or std.

#### (lib:delete-this-system), (std:delete-this-system)
Deletes all the LIB.* and STD.* packages and does an asdf:clear-system :lib-helper.
If you change lib-defs.lisp or std-defs.lisp and want to update your current lisp image, just do a:

(lib:delete-this-system)
(asdf:load-system :lib-helper)

## Implementations tested
Working for: sbcl2.1, clisp 2.49, lispworks 7.1

## Contributing
The complete hierarchy is contained in a tree in either lib-defs.lisp (std + 3rd party) or std-defs.lisp (ansi symbols only). If you want to change / add libs, modifying these lists will be enough.

## TODO

- [ ] CLHS categorisation: Using the full symbol index page (1), for each symbol, find the sections that mention this symbol in sections pages (2), and form the library packages corresponding to the sections.
- Add(ing) well known asdf libraries to the lib.* categories (~~asdf-uiop~~, ~~alexandria~~, ~~ppcre~~, ~~iterate~~, containers, ~~closer-mop~~, bordeaux-threads, ~~lil~~, lparallel, osicat, cl-opengl, etc.).
- [ ] Add cl-containers. Since I already created some container branches, I should merge cl-containers into them. But then to reduce confusion, I can add ".clc" to the end of each category to separate the cl-containers bits. This way someone looking for hash-tables can use lib.cont.hash:, or lib.cont.hash.clc: .

- [ ]
#### [2021-08-01]
While working on cl-containers, I started realising a problem in design. This library is trying to categorise libraries into hierarchical packages, sometimes using library author’s package structure, sometimes using domain-categorised sections. Both ideas would be expected to converge but the difficulty of different authors standardising such a category is an unsolved problem. I think I’ll come up with some guidelines.

Here, the list of criteria while managing the hierarchy is roughly:

1. Keep the tree balanced, with number of subbranches around 3-5
2. Keep the number of symbols low, possibly < 30? Or instead minimise number of non-coherent symbols, where coherent symbols are syntactically similar (such as car, caar, cdr, cadr; or select-item, select-node, select-somethingelse).
3. DONE: ~~Generic methods can be cloned to different branches where each branch represents a class that implements those methods. This is helpful to organise object oriented design. We will end up having packages that correspond to classes with methods and members.~~
4. Mostly DONE: I can get symbols of a system with some hierarchy that contains class and struct separation and their methods: ** make this automatic - working on (generate-system-symbols) now.

- [ ] import module as / using namespace new_name !!!
I just realised that I can add these functions (I feel like there are already good alternatives, starting with uiop/defpackage import-reexport facility) to easily use a library branch within a package. But the improvement here is, we’ll import-reexport a whole tree of packages to a new base branch. So we can do this:

(in-package my-dev-package)
(import-package-as "LIB.CONT.SEQ.ACCESS" "SEQ")
(seq:extremum ’(1 2 3 4) #’<)

(import-package "LIB.CONT.LIL.PURE") ; to import immediate syms and packages
(queue:\<fifo-queue> ...)
(collection:conj ...)

## Improvement ideas
If you have ideas, I’ll be more than
happy to collaborate as time allows. One thing worth pursuing might be
hierarchical packages (as is seen in some implementations).

## History
### [2021-12-21]
Major code restructuring. Looking at the lib-helper.asd should make it possible to understand the complete project, or at least help with it. Classes improved & separated, with additional contextual separations.

Also tests are added.

### [2021-08-12]
Classes as packages.

### [2021-08-09]
For some packages, I had included only the symbols of a package if they originated from that package. Now the decision is to include all external symbols of a package instead. e.g. uiop:define-package’s :use-reexport, or a package manually exporting its imported symbols.

### [2021-08-07]
Added find-symbols and apropos-lib. This is becoming quite useful!

### [2021-08-01]
Add cl-containers. This library proves to be quite difficult to categorise, although it is organised quite well itself.

### [2021-06-27]
Turn the base code into a package.

## References
1. http://www.lispworks.com/documentation/lw50/CLHS/Front/X_AllSym.htm
2. http://www.lispworks.com/documentation/lw50/CLHS/Front/Contents.htm

# License

Copyright (c) [2021] [Albus M Piroglu]

Licensed under the MIT License.

Version

1.10.1

Dependencies
Source

lib-helper.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Modules

Modules are listed depth-first from the system components tree.


Next: , Previous: , Up: Modules   [Contents][Index]

3.1 lib-helper/generics

Description

Generics are where the defgeneric forms reside. Then the specialisations,
i.e. defmethods are defined for each related type, under types module.

Dependency

package.lisp (file)

Parent

lib-helper (system)

Location

generics/

Component

convert.lisp (file)


Next: , Previous: , Up: Modules   [Contents][Index]

3.2 lib-helper/types

Description

Classes, structs, deftypes and their methods.

Dependency

generics (module)

Parent

lib-helper (system)

Location

types/

Components

Next: , Previous: , Up: Modules   [Contents][Index]

3.3 lib-helper/std-lib

Dependency

packages-common.lisp (file)

Parent

lib-helper (system)

Location

Components

Previous: , Up: Modules   [Contents][Index]

3.4 lib-helper/libs

Dependency

packages-common.lisp (file)

Parent

lib-helper (system)

Location

Components

Next: , Previous: , Up: Top   [Contents][Index]

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

4.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.1 lib-helper.asd

Location

lib-helper.asd

Systems

lib-helper (system)

Packages

lib-helper-asd

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.2 lib-helper/package.lisp

Parent

lib-helper (system)

Location

package.lisp

Packages

lib~


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.3 lib-helper/generics/convert.lisp

Description

Generic function for conversion between types

Parent

generics (module)

Location

generics/convert.lisp

Internal Definitions

convert (generic function)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.4 lib-helper/types/system.lisp

Description

Defines load behaviour for systems.

Parent

types (module)

Location

types/system.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.5 lib-helper/types/methods.lisp

Description

Find generic functions and their methods for organising classes.

Parent

types (module)

Location

types/methods.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.6 lib-helper/types/origin-package.lisp

Description

The package where a symbol originated from

Dependency

system.lisp (file)

Parent

types (module)

Location

types/origin-package.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.7 lib-helper/types/lib-hierarchy.lisp

Description

Types and functions pertaining the lib-hierarchy

Parent

types (module)

Location

types/lib-hierarchy.lisp

Exported Definitions

setup-packages (function)

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.8 lib-helper/types/lib-symbol.lisp

Description

A symbol that can exist in multiple source packages, mapped
to multiple symbols under one lib-hierarchy-branch

Parent

types (module)

Location

types/lib-symbol.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.9 lib-helper/types/converters.lisp

Description

Converter methods definitions.

Dependency

lib-hierarchy.lisp (file)

Parent

types (module)

Location

types/converters.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.10 lib-helper/known-libs.lisp

Description

A collection of know systems and their load-at-startup status.

Dependency

package.lisp (file)

Parent

lib-helper (system)

Location

known-libs.lisp

Exported Definitions
Internal Definitions

*lib-package-test* (special variable)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.11 lib-helper/utils.lisp

Dependency

package.lisp (file)

Parent

lib-helper (system)

Location

utils.lisp

Internal Definitions

mkstr (function)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.12 lib-helper/packages-common.lisp

Description

Shared functionality between packages-*.lisp below

Dependencies
Parent

lib-helper (system)

Location

packages-common.lisp

Exported Definitions
Internal Definitions

delete-hierarchy (function)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.13 lib-helper/system-helpers.lisp

Description

Helper functions to generate hierarchies for systems

Dependencies
Parent

lib-helper (system)

Location

system-helpers.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.14 lib-helper/std-lib/std-defs.lisp

Parent

std-lib (module)

Location

std-defs.lisp

Exported Definitions

*std-package-tree* (special variable)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.15 lib-helper/std-lib/packages-std.lisp

Dependency

std-defs.lisp (file)

Parent

std-lib (module)

Location

packages-std.lisp

Packages

std

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.16 lib-helper/libs/lib-defs.lisp

Parent

libs (module)

Location

lib-defs.lisp

Exported Definitions

*lib-package-tree* (special variable)


Previous: , Up: Lisp files   [Contents][Index]

4.1.17 lib-helper/libs/packages-lib.lisp

Dependency

lib-defs.lisp (file)

Parent

libs (module)

Location

packages-lib.lisp

Packages

lib

Exported Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

5.1 lib-helper-asd

Source

lib-helper.asd

Use List
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.2 lib~

Source

package.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.3 std

Source

packages-std.lisp (file)

Use List

common-lisp

Exported Definitions

Previous: , Up: Packages   [Contents][Index]

5.4 lib

Source

packages-lib.lisp (file)

Use List

common-lisp

Exported Definitions

Next: , Previous: , Up: Top   [Contents][Index]

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

6.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.1 Special variables

Special Variable: *hierarchies*

list of lib-hierarchies

Package

lib~

Source

known-libs.lisp (file)

Special Variable: *lib-package-tree*

Names of each package in the hierarchy and their symbols.
Each package is a list, with:
first item: package name
second item: package description
third : a list of:
(symbol-name-to-export (original-package-name system-name) (opn2 sysname2) ..)

Package

lib~

Source

lib-defs.lisp (file)

Special Variable: *std-package-tree*

Names of each package in the hierarchy and their symbols. Each package is a list, with:
first item: package name
second item: package description
third : a list of:
(symbol-name-to-export
original-package-name)

Package

lib~

Source

std-defs.lisp (file)

Special Variable: *system-table*

A hash table of {key:string val:system}, with meanings:
key: system-name,
val: system object

Package

lib~

Source

known-libs.lisp (file)


Previous: , Up: Exported definitions   [Contents][Index]

6.1.2 Functions

Function: add-to-package-lists HIERARCHY

Add the hierarchy to the *hierarchies*

Package

lib~

Source

known-libs.lisp (file)

Function: apropos-lib SUB-STR PACKAGE-TREE &optional PRINT-RESULTS

Look for symbols containing sub-str in the lib hierarchy and
print the matching branches.

print-results: if t (default), print the results instead of returning a list.

Package

lib~

Source

packages-common.lisp (file)

Function: apropos-lib SUB-STR &optional PRINT-RESULTS
Package

std

Source

packages-std.lisp (file)

Function: apropos-lib SUB-STR &optional PRINT-RESULTS
Package

lib

Source

packages-lib.lisp (file)

Function: delete-system-aux ()
Package

lib~

Source

packages-common.lisp (file)

Function: delete-this-hierarchy ()

Delete all packages and symbols defined by hierarchy std:

Package

std

Source

packages-std.lisp (file)

Function: delete-this-hierarchy ()

Delete all packages and symbols defined by hierarchy lib:

Package

lib

Source

packages-lib.lisp (file)

Function: delete-this-system ()

Delete all packages defined by system lib-helper, and remove it from asdf buffer.

Package

std

Source

packages-std.lisp (file)

Function: delete-this-system ()

Delete all packages defined by system lib-helper, and remove it from asdf buffer.

Package

lib

Source

packages-lib.lisp (file)

Function: find-syms PHRASE PACKAGE-TREE &optional PRINT-RESULTS

Find closest matches within std or lib hierarchy.

INPUTS:
phrase:
a number of words as one string (first word for the symbol, others for
description and package path)
OR
re-patterns as a list of strings in the phrase,

print-results: if t (default), print the results instead of returning a list.

OUTPUT: nil or list of results

Note: re-patterns use cl-ppcre.

EXAMPLES:
(find-syms "prin")
find symbols with prin in symbol name

(find-syms "prin io")
Different to previous example, this will do a further filtering by finding symbols that have prin in symbol name, and io in either the package-path name or its documentation.

(find-syms ’("prin" ".*\bio\b.*"))
Further limiting to previous, filter ones with only complete word io. But one might prefer a shorter and almost equally effective:
(find-syms "prin std.io")
if they are trying to limit with path name.

Package

lib~

Source

packages-common.lisp (file)

Function: find-syms PHRASE &optional PRINT-RESULTS

Find closest matches within std or lib hierarchy.

INPUTS:
phrase:
a number of words as one string (first word for the symbol, others for
description and package path)
OR
re-patterns as a list of strings in the phrase,

print-results: if t (default), print the results instead of returning a list.

OUTPUT: nil or list of results

Note: re-patterns use cl-ppcre.

EXAMPLES:
(find-syms "prin")
find symbols with prin in symbol name

(find-syms "prin io")
Different to previous example, this will do a further filtering by finding symbols that have prin in symbol name, and io in either the package-path name or its documentation.

(find-syms ’("prin" ".*\bio\b.*"))
Further limiting to previous, filter ones with only complete word io. But one might prefer a shorter and almost equally effective:
(find-syms "prin std.io")
if they are trying to limit with path name.

Package

std

Source

packages-std.lisp (file)

Function: find-syms PHRASE &optional PRINT-RESULTS

Find closest matches within std or lib hierarchy.

INPUTS:
phrase:
a number of words as one string (first word for the symbol, others for
description and package path)
OR
re-patterns as a list of strings in the phrase,

print-results: if t (default), print the results instead of returning a list.

OUTPUT: nil or list of results

Note: re-patterns use cl-ppcre.

EXAMPLES:
(find-syms "prin")
find symbols with prin in symbol name

(find-syms "prin io")
Different to previous example, this will do a further filtering by finding symbols that have prin in symbol name, and io in either the package-path name or its documentation.

(find-syms ’("prin" ".*\bio\b.*"))
Further limiting to previous, filter ones with only complete word io. But one might prefer a shorter and almost equally effective:
(find-syms "prin std.io")
if they are trying to limit with path name.

Package

lib

Source

packages-lib.lisp (file)

Function: get-package-names ()
Package

std

Source

packages-std.lisp (file)

Function: get-package-names ()
Package

lib

Source

packages-lib.lisp (file)

Function: get-package-names-aux HIERARCHY

Return a list of package names in the package-tree.

Package

lib~

Source

packages-common.lisp (file)

Function: packages &key STREAM
Package

std

Source

packages-std.lisp (file)

Function: packages &key STREAM
Package

lib

Source

packages-lib.lisp (file)

Function: packages-aux PACKAGE-TREE &key STREAM

Print package names in first hierachical categorization.

Package

lib~

Source

packages-common.lisp (file)

Function: setup-packages PACKAGE-TREE

Creates and defines packages in package-tree.

Package

lib~

Source

lib-hierarchy.lisp (file)

Function: symbol-count PACKAGE-TREE

Return the count of unique symbols within the tree.

Package

lib~

Source

packages-common.lisp (file)

Function: symbol-count ()
Package

std

Source

packages-std.lisp (file)

Function: symbol-count ()
Package

lib

Source

packages-lib.lisp (file)


Previous: , Up: Definitions   [Contents][Index]

6.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.1 Special variables

Special Variable: *lib-package-test*

Dev helper for testing internal functions.

Package

lib~

Source

known-libs.lisp (file)

Special Variable: *skipped-classes-in-check*
Package

lib~

Source

system-helpers.lisp (file)

Special Variable: +doc-sys+

Doc system functions and corresponding types for documentation lookup in multiple namespaces of a symbol.

Package

lib~

Source

lib-symbol.lisp (file)

Special Variable: <gf-tree>

An empty object to be passed to generic functions as an interface.

Package

lib~

Source

methods.lisp (file)

Special Variable: <lib-hierarchy-branch>

An empty object to be passed to generic functions as an interface.

Package

lib~

Source

lib-hierarchy.lisp (file)

Special Variable: <lib-hierarchy>

An empty object to be passed to generic functions as an interface. Idea partially from lil library.

Package

lib~

Source

lib-hierarchy.lisp (file)

Special Variable: <lib-symbol>

An empty object to be passed to generic functions as an interface.

Package

lib~

Source

lib-symbol.lisp (file)

Special Variable: <list>

An empty object to be passed to generic functions as an interface.

Package

lib~

Source

lib-hierarchy.lisp (file)

Special Variable: <method-detail>

An empty object to be passed to generic functions as an interface.

Package

lib~

Source

methods.lisp (file)

Special Variable: <symbol>

An empty object to be passed to generic functions as an interface.

Package

lib~

Source

methods.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.2 Macros

Macro: with-system (SYS-VAR SYS-NAME) &body BODY
Package

lib~

Source

system.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.3 Functions

Function: activate-system ORIG-PKG PKG-TREE

asdf:load the system and for every symbol of it
import-export them in the tree.

This function is not called during lib-helper load, but is attached to the library branches for on-demand use.

Package

lib~

Source

system.lisp (file)

Function: add-sub-packages H-BRANCH PARENT-PKG

Find package names that are sub-packages of h-branch, and make them
symbols of .package-name, i.e. a dot prepended, and intern in the parent package.

e.g.
a package path1.path2 can have symbols interned for it such as: path1.path2:.path2.1
path1.path2:.path2.2
path1.path2:.path2.3

Package

lib~

Source

lib-hierarchy.lisp (file)

Function: all-elements-are-lib-symbols LST
Package

lib~

Source

lib-symbol.lisp (file)

Function: all-elements-are-method-details LST
Package

lib~

Source

methods.lisp (file)

Function: all-elements-are-origin-packages LST
Package

lib~

Source

lib-symbol.lisp (file)

Function: all-elements-are-symbols LST
Package

lib~

Source

lib-symbol.lisp (file)

Function: asdf-system-loaded SYS-NAME
Package

lib~

Source

system.lisp (file)

Function: define-sub-package-syms P

Define all symbols of the existing target branch package p, including the listed symbols & symbols for each .sub-package

INPUTS:
p: lib-hierarchy-branch

OUTPUTS: nil

Package

lib~

Source

lib-hierarchy.lisp (file)

Function: delete-hierarchy HIERARCHY
Package

lib~

Source

packages-common.lisp (file)

Function: filter-external-syms NAMES PKG
Package

lib~

Source

system-helpers.lisp (file)

Function: find-lib-aux SEARCH-CLOSURE PACKAGE-TREE &optional PRINT-RESULTS

Search in package-tree for symbols meeting search-closure predicate.
print-results: if t, print results, don’t return, otherwise return a list of results.

Package

lib~

Source

lib-symbol.lisp (file)

Function: format-package-tree-syms TREE STREAM
Package

lib~

Source

system-helpers.lisp (file)

Function: generate-system-symbols SYS-NAME PREFIX PACKAGES &optional STREAM

function maturity: 1
Generate a package tree corresponding to the system. Then the result can be
manually pasted into the lib-defs.lisp

Also creates sections for classes and their implemented methods.

sys-name: string, name of the asdf system
prefix : the package-tree section prefix for packages of the system to be imported from. e.g. for containers package to be under lib.cont pass "LIB.CONT".
packages: list of packages to import from and to ("package-from" "package-to".
A system may define many packages, but the
the user should manually choose a subset that the symbols will be imported from, and pass them here.

e.g. given call: (generate-system-symbols "lil" "LIB.CONT" "("LIL/PURE/HASH-TABLE" "LIL/INTERFACE/ORDER")
this function returns:

("LIB.CONT.LIL/PURE/HASH-TABLE" "Package: LIL/PURE/HASH-TABLE"
(("<HASH-TABLE>" ("lil" "LIL/PURE/HASH-TABLE"))
("HASHMAP-INTERFACE" ("lil" "LIL/PURE/HASH-TABLE"))
("BUCKETMAP-INTERFACE" ("lil" "LIL/PURE/HASH-TABLE"))
...
))
("LIB.CONT.LIL.INTERFACE.ORDER" "Package: LIL/INTERFACE/ORDER"
(("<ORDER>" ("lil" "LIL/INTERFACE/ORDER"))
("<ORDER-FROM-LESSP>" ("lil" "LIL/INTERFACE/ORDER"))
("<LESSP>" ("lil" "LIL/INTERFACE/ORDER"))
...
))

Package

lib~

Source

system-helpers.lisp (file)

Function: get-class-methods CLASS &optional GENERIC-FUNCTIONS
Package

lib~

Source

system-helpers.lisp (file)

Function: get-class-methods-unique-names CLASS &optional GENERIC-FUNCTIONS
Package

lib~

Source

system-helpers.lisp (file)

Function: get-generic-functions ()

Return all generic functions defined in the current lisp image as list of gf-tree.

Package

lib~

Source

system-helpers.lisp (file)

Function: get-package-external-symbols PACKAGE

Return the symbols that are exported from the package, i.e. external.

Package

lib~

Source

system-helpers.lisp (file)

Function: get-parent-name PKG-NAME

Given lib.lvl1.lvl2 shaped package name, return lib.lvl1; or lib.lvl1.lvl2..class1, return lib.lvl1.lvl2

Package

lib~

Source

lib-hierarchy.lisp (file)

Function: get-struct-externals STRUCT-NAME PACKAGE-NAME

Given a struct name, check for each struct name and return the package-external ones as a list.

Package

lib~

Source

system-helpers.lisp (file)

Function: get-sub-packages PKG-NAME PACKAGE-TREE

pkg-name: string
Returns a list of paths that are sub packages of pkg-name.

Package

lib~

Source

lib-hierarchy.lisp (file)

Function: get-sym-desc SYM

Given a symbol, return its corresponding description. If there are descriptions in more than one namespace (function, variable, class, etc.), combine the results.

Package

lib~

Source

lib-symbol.lisp (file)

Function: get-symbol-node SYM SYS-NAME PACKAGE-NAME
Package

lib~

Source

system-helpers.lisp (file)

Function: get-target-sym-name SYM-NAME INDEX &key LOADED

Name of the symbol to create depends on how many systems / packages are exporting the symbol. If more than one, than the first one is the sym-name, and subsequent ones are appended a dot + number starting from 1. If the system is not loaded, then a tilde will be appended to the name.
index: 0 based, which index system is the symbol imported from in a symbol list of (sym-name (sys0 pkg0) (sys1 pkg1) ..)

e.g. from a list of: ("CAR" (NIL "CL") ("my-system" "MY-PACKAGE"))
we want the symbol for my-system, thus call
(get-target-sym-name "CAR" 1 :loaded nil)
to get "CAR.1~"

Package

lib~

Source

lib-symbol.lisp (file)

Function: import-and-get-symbols LIB-SYM TO-PKG

For one target symbol, return a list of symbols which are either from a system-package, or a list of sym-nameN{~}* where ~ is optional. See Lazy interning in the top comment of *lib-package-tree* for details.

Package

lib~

Source

lib-symbol.lisp (file)

Function: intern-later SYM-NAME ORIG-PKG TO-PKG PKG-TREE

Create a symbol with a ~ at the end, bound to a function to do:
load the associated system (via asdf - not quicklisp, so everything is offline),
create the expected symbol without the ~ this time, pointing to the actual object of concern and delete the symbol with the ~ at the end.

Package

lib~

Source

lib-symbol.lisp (file)

Function: intern-now SYM-NAME SYM TO-PKG

Either shadowing-import or create a symbol and link to sym.

Package

lib~

Source

lib-symbol.lisp (file)

Function: lazy-intern LIB-SYM SYM-CNT TO-PKG

See Lazy interning in the
top comment of *lib-package-tree* for details.

Intern a symbol, and return that symbol name (package relative).

Package

lib~

Source

lib-symbol.lisp (file)

Function: lib-symbolp OBJ
Package

lib~

Source

lib-symbol.lisp (file)

Function: make-origin-package SYSTEM-AND-PACKAGE
Package

lib~

Source

origin-package.lisp (file)

Function: match-with-symbol PHRASE-REGEXES LIB-SYMBOL

Return true if first expression in phrase-regexes matches the symbol name AND all the rest in phrase-regexes match the symbol’s full-description (which includes hierarchy path along with all symbol-namespace descriptions, i.e. function description + variable description + class + method-combination etc.).

Package

lib~

Source

lib-symbol.lisp (file)

Function: maybe-load SYSTEM

asdf load the system if necessary.

Package

lib~

Source

system.lisp (file)

Function: maybe-load-system-at-startup ORIG-PKG

asdf load the system if necessary. orig-pkg: is of type origin-package

Package

lib~

Source

system.lisp (file)

Function: method-detailp OBJ
Package

lib~

Source

methods.lisp (file)

Function: mkstr &rest ARGS

Useful utility from PGraham.

Package

lib~

Source

utils.lisp (file)

Function: origin-packagep OBJ
Package

lib~

Source

origin-package.lisp (file)

Function: prepare-libs ()
Package

lib-helper-asd

Source

lib-helper.asd

Function: prepare-std-libs ()
Package

lib-helper-asd

Source

lib-helper.asd

Function: rename-import-syms ORIG-PKG BRANCH FROM-PKG

For the symbols in branch that belong to orig-pkg,
unintern the symbols corresponding to that package, which will be named as a-symbol{.N}~, and shadowing-import every the a-symbol name from from-pkg to to-pkg in branch.

orig-pkg: is of type origin-package
branch: a lib-hierarchy-branch
from-pkg: a common-lisp package designator

Package

lib~

Source

lib-symbol.lisp (file)

Function: set-full-desc S

s: lib-symbol

Package

lib~

Source

lib-symbol.lisp (file)

Function: should-load-at-startup SYSTEM

Return t if sys-name should be loaded. This depends on load-at-startup and (already) loaded values.

Package

lib~

Source

system.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.4 Generic functions

Generic Function: branches OBJECT
Generic Function: (setf branches) NEW-VALUE OBJECT
Package

lib~

Methods
Method: branches (LIB-HIERARCHY lib-hierarchy)

automatically generated reader method

Source

lib-hierarchy.lisp (file)

Method: (setf branches) NEW-VALUE (LIB-HIERARCHY lib-hierarchy)

automatically generated writer method

Source

lib-hierarchy.lisp (file)

Generic Function: containing-system OBJECT
Generic Function: (setf containing-system) NEW-VALUE OBJECT
Package

lib~

Methods
Method: containing-system (ORIGIN-PACKAGE origin-package)
Method: (setf containing-system) NEW-VALUE (ORIGIN-PACKAGE origin-package)

The system that contains this package

Source

origin-package.lisp (file)

Generic Function: convert DESTINATION ORIGIN OBJ &key PARENT &allow-other-keys

Convert obj from type origin to type destination.

Package

lib~

Source

convert.lisp (file)

Methods
Method: convert (DESTINATION gf-tree) (ORIGIN symbol) G &key &allow-other-keys

Conversion: symbol -> gf-tree

Source

converters.lisp (file)

Method: convert (DESTINATION lib-symbol) (ORIGIN list) OBJ &key PARENT &allow-other-keys

Conversion: list -> lib-symbol

Source

converters.lisp (file)

Method: convert (DESTINATION lib-hierarchy-branch) (ORIGIN list) OBJ &key PARENT &allow-other-keys

Conversion: list -> lib-hierarchy-branch

Source

converters.lisp (file)

Method: convert (DESTINATION lib-hierarchy) (ORIGIN list) OBJ &key &allow-other-keys

Conversion: list -> lib-hierarchy

Source

converters.lisp (file)

Generic Function: full-desc OBJECT
Generic Function: (setf full-desc) NEW-VALUE OBJECT
Package

lib~

Methods
Method: full-desc (LIB-SYMBOL lib-symbol)
Method: (setf full-desc) NEW-VALUE (LIB-SYMBOL lib-symbol)

Hierarchy path + all namespace descriptions of the symbol combined.

Source

lib-symbol.lisp (file)

Generic Function: get-name OBJECT
Generic Function: (setf get-name) NEW-VALUE OBJECT
Package

lib~

Methods
Method: get-name (LIB-HIERARCHY lib-hierarchy)

automatically generated reader method

Source

lib-hierarchy.lisp (file)

Method: (setf get-name) NEW-VALUE (LIB-HIERARCHY lib-hierarchy)

automatically generated writer method

Source

lib-hierarchy.lisp (file)

Generic Function: gf OBJECT
Generic Function: (setf gf) NEW-VALUE OBJECT
Package

lib~

Methods
Method: gf (GF-TREE gf-tree)
Method: (setf gf) NEW-VALUE (GF-TREE gf-tree)

The generic function object

Source

methods.lisp (file)

Generic Function: gmethods OBJECT
Generic Function: (setf gmethods) NEW-VALUE OBJECT
Package

lib~

Methods
Method: gmethods (GF-TREE gf-tree)
Method: (setf gmethods) NEW-VALUE (GF-TREE gf-tree)

Methods and lambda lists of the gm.

Source

methods.lisp (file)

Generic Function: lib-symbols OBJECT
Generic Function: (setf lib-symbols) NEW-VALUE OBJECT
Package

lib~

Methods
Method: lib-symbols (LIB-HIERARCHY-BRANCH lib-hierarchy-branch)

automatically generated reader method

Source

lib-hierarchy.lisp (file)

Method: (setf lib-symbols) NEW-VALUE (LIB-HIERARCHY-BRANCH lib-hierarchy-branch)

automatically generated writer method

Source

lib-hierarchy.lisp (file)

Generic Function: make-system SYS &key IMPORT-SYMBOLS-AT-STARTUP &allow-other-keys

import-symbols-at-startup:
(t: if system already loaded in the lisp image and
you want to import/export its symbols,

nil: if you don’t want to import the system’s symbols yet, regardless of whether system is loaded. Each exported symbol of the system will have a function with same name + ~ and when called will asdf:load-system the system and make all symbols of the system available.

Package

lib~

Source

system.lisp (file)

Methods
Method: make-system (SYS string) &key IMPORT-SYMBOLS-AT-STARTUP

Given a system name and a keyword for import-symbols-at-startup, make an instance of system.

Method: make-system (SYS list) &key

Given a list of (system-name import-symbols-at-startup), make an instance of system.

Generic Function: method-obj OBJECT
Generic Function: (setf method-obj) NEW-VALUE OBJECT
Package

lib~

Methods
Method: method-obj (METHOD-DETAIL method-detail)
Method: (setf method-obj) NEW-VALUE (METHOD-DETAIL method-detail)

The method object.

Source

methods.lisp (file)

Generic Function: origin-packages OBJECT
Generic Function: (setf origin-packages) NEW-VALUE OBJECT
Package

lib~

Methods
Method: origin-packages (LIB-SYMBOL lib-symbol)

automatically generated reader method

Source

lib-symbol.lisp (file)

Method: (setf origin-packages) NEW-VALUE (LIB-SYMBOL lib-symbol)

automatically generated writer method

Source

lib-symbol.lisp (file)

Generic Function: parent OBJECT
Generic Function: (setf parent) NEW-VALUE OBJECT
Package

lib~

Methods
Method: parent (LIB-SYMBOL lib-symbol)

automatically generated reader method

Source

lib-symbol.lisp (file)

Method: (setf parent) NEW-VALUE (LIB-SYMBOL lib-symbol)

automatically generated writer method

Source

lib-symbol.lisp (file)

Method: parent (LIB-HIERARCHY-BRANCH lib-hierarchy-branch)
Method: (setf parent) NEW-VALUE (LIB-HIERARCHY-BRANCH lib-hierarchy-branch)

A link to the package-tree of this branch (this will be either std-tree or lib-tree).

Source

lib-hierarchy.lisp (file)

Generic Function: path OBJECT
Generic Function: (setf path) NEW-VALUE OBJECT
Package

lib~

Methods
Method: path (LIB-HIERARCHY-BRANCH lib-hierarchy-branch)
Method: (setf path) NEW-VALUE (LIB-HIERARCHY-BRANCH lib-hierarchy-branch)

Path name for the branch. This corresponds to a package, or
rather a package is created that corresponds to every branch.

Source

lib-hierarchy.lisp (file)

Generic Function: path-desc OBJECT
Generic Function: (setf path-desc) NEW-VALUE OBJECT
Package

lib~

Methods
Method: path-desc (LIB-HIERARCHY-BRANCH lib-hierarchy-branch)
Method: (setf path-desc) NEW-VALUE (LIB-HIERARCHY-BRANCH lib-hierarchy-branch)

Description of the path or package.

Source

lib-hierarchy.lisp (file)

Generic Function: pkg-name OBJECT
Generic Function: (setf pkg-name) NEW-VALUE OBJECT
Package

lib~

Methods
Method: pkg-name (ORIGIN-PACKAGE origin-package)

automatically generated reader method

Source

origin-package.lisp (file)

Method: (setf pkg-name) NEW-VALUE (ORIGIN-PACKAGE origin-package)

automatically generated writer method

Source

origin-package.lisp (file)

Generic Function: specializers OBJECT
Generic Function: (setf specializers) NEW-VALUE OBJECT
Package

lib~

Methods
Method: specializers (METHOD-DETAIL method-detail)
Method: (setf specializers) NEW-VALUE (METHOD-DETAIL method-detail)

Method lambda list.

Source

methods.lisp (file)

Generic Function: sym-name OBJECT
Generic Function: (setf sym-name) NEW-VALUE OBJECT
Package

lib~

Methods
Method: sym-name (LIB-SYMBOL lib-symbol)
Method: (setf sym-name) NEW-VALUE (LIB-SYMBOL lib-symbol)

The symbol name of the source symbol

Source

lib-symbol.lisp (file)

Generic Function: syms OBJECT
Generic Function: (setf syms) NEW-VALUE OBJECT
Package

lib~

Methods
Method: syms (LIB-SYMBOL lib-symbol)
Method: (setf syms) NEW-VALUE (LIB-SYMBOL lib-symbol)

The actual symbols, corresponding to sym-name, one for each origin-packages.
First one is named the same as sym-name, subsequent ones appended an increasing number, from 1. If lazy-interned, then appended ~ or {.n}~

Source

lib-symbol.lisp (file)

Generic Function: system-import-symbols-at-startup OBJECT
Generic Function: (setf system-import-symbols-at-startup) NEW-VALUE OBJECT
Package

lib~

Methods
Method: system-import-symbols-at-startup (SYSTEM system)

automatically generated reader method

Source

system.lisp (file)

Method: (setf system-import-symbols-at-startup) NEW-VALUE (SYSTEM system)

automatically generated writer method

Source

system.lisp (file)

Generic Function: system-loaded OBJECT
Generic Function: (setf system-loaded) NEW-VALUE OBJECT
Package

lib~

Methods
Method: system-loaded (OBJ (eql nil))
Source

system.lisp (file)

Method: system-loaded (SYSTEM system)

automatically generated reader method

Source

system.lisp (file)

Method: (setf system-loaded) NEW-VALUE (SYSTEM system)

automatically generated writer method

Source

system.lisp (file)

Generic Function: system-name OBJECT
Generic Function: (setf system-name) NEW-VALUE OBJECT
Package

lib~

Methods
Method: system-name (OBJ (eql nil))
Source

system.lisp (file)

Method: system-name (SYSTEM system)

automatically generated reader method

Source

system.lisp (file)

Method: (setf system-name) NEW-VALUE (SYSTEM system)

automatically generated writer method

Source

system.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.5 Classes

Class: gf-tree ()

A tree for a generic function including its methods and their lambda lists.

Package

lib~

Source

methods.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
  • convert (method)
  • print-object (method)
  • gmethods (method)
  • gmethods (method)
  • gf (method)
  • gf (method)
Direct slots
Slot: gf

The generic function object

Initargs

:gf

Readers

gf (generic function)

Writers

(setf gf) (generic function)

Slot: gmethods

Methods and lambda lists of the gm.

Type

lib~::list-of-method-details

Initargs

:gmethods

Readers

gmethods (generic function)

Writers

(setf gmethods) (generic function)

Class: lib-hierarchy ()

A library hierarchy (a.k.a. package-tree) is defined with this type. It is essentially a list.

Package

lib~

Source

lib-hierarchy.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: branches
Type

list

Initargs

:branches

Readers

branches (generic function)

Writers

(setf branches) (generic function)

Slot: name
Initargs

:name

Readers

get-name (generic function)

Writers

(setf get-name) (generic function)

Class: lib-hierarchy-branch ()

A branch of a lib-hierarchy / package tree.
A branch is e.g.:
("LIB.CONT.LIST.CREATE" "List creation"
(("CIRCULAR-LIST" ("alexandria" "ALEXANDRIA")) ; symbols list start here ("CONS" (NIL "CL"))
("COPY-LIST" (NIL "CL"))
...

Package

lib~

Source

lib-hierarchy.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: path

Path name for the branch. This corresponds to a package, or
rather a package is created that corresponds to every branch.

Type

string

Initargs

:path

Readers

path (generic function)

Writers

(setf path) (generic function)

Slot: parent

A link to the package-tree of this branch (this will be either std-tree or lib-tree).

Type

lib~::lib-hierarchy

Initargs

:parent

Readers

parent (generic function)

Writers

(setf parent) (generic function)

Slot: path-desc

Description of the path or package.

Type

string

Initargs

:path-desc

Readers

path-desc (generic function)

Writers

(setf path-desc) (generic function)

Slot: lib-symbols
Type

lib~::list-of-lib-symbols

Initargs

:lib-symbols

Readers

lib-symbols (generic function)

Writers

(setf lib-symbols) (generic function)

Class: lib-symbol ()

When there are multiple sys-pkg, multiple symbols will be created in the branch, first one with the symbol’s name, subsequent ones having a {.N}~, N in (1,2..). Also there’s a lazy interning process. If a system is not loaded, then its symbols will not be imported, but rather a symbol of the same name + ~ appended, and tied to a closure that’ll load the system then import all symbols from the system to their branches.

Package

lib~

Source

lib-symbol.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: sym-name

The symbol name of the source symbol

Type

string

Initargs

:sym-name

Readers

sym-name (generic function)

Writers

(setf sym-name) (generic function)

Slot: origin-packages
Type

lib~::list-of-origin-packages

Initargs

:origin-packages

Readers

origin-packages (generic function)

Writers

(setf origin-packages) (generic function)

Slot: parent
Type

lib~::lib-hierarchy-branch

Initargs

:parent

Readers

parent (generic function)

Writers

(setf parent) (generic function)

Slot: full-desc

Hierarchy path + all namespace descriptions of the symbol combined.

Type

string

Initargs

:full-desc

Readers

full-desc (generic function)

Writers

(setf full-desc) (generic function)

Slot: syms

The actual symbols, corresponding to sym-name, one for each origin-packages.
First one is named the same as sym-name, subsequent ones appended an increasing number, from 1. If lazy-interned, then appended ~ or {.n}~

Type

lib~::list-of-symbols

Readers

syms (generic function)

Writers

(setf syms) (generic function)

Class: method-detail ()

Details of a method.

Package

lib~

Source

methods.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: method-obj

The method object.

Type

method

Initargs

:method-obj

Readers

method-obj (generic function)

Writers

(setf method-obj) (generic function)

Slot: specializers

Method lambda list.

Type

list

Initargs

:specializers

Readers

specializers (generic function)

Writers

(setf specializers) (generic function)

Class: origin-package ()

Defines where a package comes from. Used by new symbols interned in the hierarchy so that we can point to the actual place.

Package

lib~

Source

origin-package.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: pkg-name
Initargs

:pkg-name

Readers

pkg-name (generic function)

Writers

(setf pkg-name) (generic function)

Slot: system

The system that contains this package

Initargs

:system

Readers

containing-system (generic function)

Writers

(setf containing-system) (generic function)

Class: system ()

Objects of this class defines an asdf system and how it will be regarded during and after lib-helper load.

Package

lib~

Source

system.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

system-name (generic function)

Writers

(setf system-name) (generic function)

Slot: import-symbols-at-startup
Initargs

:import-symbols-at-startup

Readers

system-import-symbols-at-startup (generic function)

Writers

(setf system-import-symbols-at-startup) (generic function)

Slot: loaded
Readers

system-loaded (generic function)

Writers

(setf system-loaded) (generic function)


Previous: , Up: Internal definitions   [Contents][Index]

6.2.6 Types

Type: list-of-lib-symbols ()
Package

lib~

Source

lib-symbol.lisp (file)

Type: list-of-method-details ()
Package

lib~

Source

methods.lisp (file)

Type: list-of-origin-packages ()
Package

lib~

Source

lib-symbol.lisp (file)

Type: list-of-symbols ()
Package

lib~

Source

lib-symbol.lisp (file)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   L   M  
Index Entry  Section

F
File, Lisp, lib-helper.asd: The lib-helper․asd file
File, Lisp, lib-helper/generics/convert.lisp: The lib-helper/generics/convert․lisp file
File, Lisp, lib-helper/known-libs.lisp: The lib-helper/known-libs․lisp file
File, Lisp, lib-helper/libs/lib-defs.lisp: The lib-helper/libs/lib-defs․lisp file
File, Lisp, lib-helper/libs/packages-lib.lisp: The lib-helper/libs/packages-lib․lisp file
File, Lisp, lib-helper/package.lisp: The lib-helper/package․lisp file
File, Lisp, lib-helper/packages-common.lisp: The lib-helper/packages-common․lisp file
File, Lisp, lib-helper/std-lib/packages-std.lisp: The lib-helper/std-lib/packages-std․lisp file
File, Lisp, lib-helper/std-lib/std-defs.lisp: The lib-helper/std-lib/std-defs․lisp file
File, Lisp, lib-helper/system-helpers.lisp: The lib-helper/system-helpers․lisp file
File, Lisp, lib-helper/types/converters.lisp: The lib-helper/types/converters․lisp file
File, Lisp, lib-helper/types/lib-hierarchy.lisp: The lib-helper/types/lib-hierarchy․lisp file
File, Lisp, lib-helper/types/lib-symbol.lisp: The lib-helper/types/lib-symbol․lisp file
File, Lisp, lib-helper/types/methods.lisp: The lib-helper/types/methods․lisp file
File, Lisp, lib-helper/types/origin-package.lisp: The lib-helper/types/origin-package․lisp file
File, Lisp, lib-helper/types/system.lisp: The lib-helper/types/system․lisp file
File, Lisp, lib-helper/utils.lisp: The lib-helper/utils․lisp file

L
lib-helper.asd: The lib-helper․asd file
lib-helper/generics: The lib-helper/generics module
lib-helper/generics/convert.lisp: The lib-helper/generics/convert․lisp file
lib-helper/known-libs.lisp: The lib-helper/known-libs․lisp file
lib-helper/libs: The lib-helper/libs module
lib-helper/libs/lib-defs.lisp: The lib-helper/libs/lib-defs․lisp file
lib-helper/libs/packages-lib.lisp: The lib-helper/libs/packages-lib․lisp file
lib-helper/package.lisp: The lib-helper/package․lisp file
lib-helper/packages-common.lisp: The lib-helper/packages-common․lisp file
lib-helper/std-lib: The lib-helper/std-lib module
lib-helper/std-lib/packages-std.lisp: The lib-helper/std-lib/packages-std․lisp file
lib-helper/std-lib/std-defs.lisp: The lib-helper/std-lib/std-defs․lisp file
lib-helper/system-helpers.lisp: The lib-helper/system-helpers․lisp file
lib-helper/types: The lib-helper/types module
lib-helper/types/converters.lisp: The lib-helper/types/converters․lisp file
lib-helper/types/lib-hierarchy.lisp: The lib-helper/types/lib-hierarchy․lisp file
lib-helper/types/lib-symbol.lisp: The lib-helper/types/lib-symbol․lisp file
lib-helper/types/methods.lisp: The lib-helper/types/methods․lisp file
lib-helper/types/origin-package.lisp: The lib-helper/types/origin-package․lisp file
lib-helper/types/system.lisp: The lib-helper/types/system․lisp file
lib-helper/utils.lisp: The lib-helper/utils․lisp file
Lisp File, lib-helper.asd: The lib-helper․asd file
Lisp File, lib-helper/generics/convert.lisp: The lib-helper/generics/convert․lisp file
Lisp File, lib-helper/known-libs.lisp: The lib-helper/known-libs․lisp file
Lisp File, lib-helper/libs/lib-defs.lisp: The lib-helper/libs/lib-defs․lisp file
Lisp File, lib-helper/libs/packages-lib.lisp: The lib-helper/libs/packages-lib․lisp file
Lisp File, lib-helper/package.lisp: The lib-helper/package․lisp file
Lisp File, lib-helper/packages-common.lisp: The lib-helper/packages-common․lisp file
Lisp File, lib-helper/std-lib/packages-std.lisp: The lib-helper/std-lib/packages-std․lisp file
Lisp File, lib-helper/std-lib/std-defs.lisp: The lib-helper/std-lib/std-defs․lisp file
Lisp File, lib-helper/system-helpers.lisp: The lib-helper/system-helpers․lisp file
Lisp File, lib-helper/types/converters.lisp: The lib-helper/types/converters․lisp file
Lisp File, lib-helper/types/lib-hierarchy.lisp: The lib-helper/types/lib-hierarchy․lisp file
Lisp File, lib-helper/types/lib-symbol.lisp: The lib-helper/types/lib-symbol․lisp file
Lisp File, lib-helper/types/methods.lisp: The lib-helper/types/methods․lisp file
Lisp File, lib-helper/types/origin-package.lisp: The lib-helper/types/origin-package․lisp file
Lisp File, lib-helper/types/system.lisp: The lib-helper/types/system․lisp file
Lisp File, lib-helper/utils.lisp: The lib-helper/utils․lisp file

M
Module, lib-helper/generics: The lib-helper/generics module
Module, lib-helper/libs: The lib-helper/libs module
Module, lib-helper/std-lib: The lib-helper/std-lib module
Module, lib-helper/types: The lib-helper/types module

Jump to:   F   L   M  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   (  
A   B   C   D   F   G   I   L   M   O   P   R   S   W  
Index Entry  Section

(
(setf branches): Internal generic functions
(setf branches): Internal generic functions
(setf containing-system): Internal generic functions
(setf containing-system): Internal generic functions
(setf full-desc): Internal generic functions
(setf full-desc): Internal generic functions
(setf get-name): Internal generic functions
(setf get-name): Internal generic functions
(setf gf): Internal generic functions
(setf gf): Internal generic functions
(setf gmethods): Internal generic functions
(setf gmethods): Internal generic functions
(setf lib-symbols): Internal generic functions
(setf lib-symbols): Internal generic functions
(setf method-obj): Internal generic functions
(setf method-obj): Internal generic functions
(setf origin-packages): Internal generic functions
(setf origin-packages): Internal generic functions
(setf parent): Internal generic functions
(setf parent): Internal generic functions
(setf parent): Internal generic functions
(setf path): Internal generic functions
(setf path): Internal generic functions
(setf path-desc): Internal generic functions
(setf path-desc): Internal generic functions
(setf pkg-name): Internal generic functions
(setf pkg-name): Internal generic functions
(setf specializers): Internal generic functions
(setf specializers): Internal generic functions
(setf sym-name): Internal generic functions
(setf sym-name): Internal generic functions
(setf syms): Internal generic functions
(setf syms): Internal generic functions
(setf system-import-symbols-at-startup): Internal generic functions
(setf system-import-symbols-at-startup): Internal generic functions
(setf system-loaded): Internal generic functions
(setf system-loaded): Internal generic functions
(setf system-name): Internal generic functions
(setf system-name): Internal generic functions

A
activate-system: Internal functions
add-sub-packages: Internal functions
add-to-package-lists: Exported functions
all-elements-are-lib-symbols: Internal functions
all-elements-are-method-details: Internal functions
all-elements-are-origin-packages: Internal functions
all-elements-are-symbols: Internal functions
apropos-lib: Exported functions
apropos-lib: Exported functions
apropos-lib: Exported functions
asdf-system-loaded: Internal functions

B
branches: Internal generic functions
branches: Internal generic functions

C
containing-system: Internal generic functions
containing-system: Internal generic functions
convert: Internal generic functions
convert: Internal generic functions
convert: Internal generic functions
convert: Internal generic functions
convert: Internal generic functions

D
define-sub-package-syms: Internal functions
delete-hierarchy: Internal functions
delete-system-aux: Exported functions
delete-this-hierarchy: Exported functions
delete-this-hierarchy: Exported functions
delete-this-system: Exported functions
delete-this-system: Exported functions

F
filter-external-syms: Internal functions
find-lib-aux: Internal functions
find-syms: Exported functions
find-syms: Exported functions
find-syms: Exported functions
format-package-tree-syms: Internal functions
full-desc: Internal generic functions
full-desc: Internal generic functions
Function, activate-system: Internal functions
Function, add-sub-packages: Internal functions
Function, add-to-package-lists: Exported functions
Function, all-elements-are-lib-symbols: Internal functions
Function, all-elements-are-method-details: Internal functions
Function, all-elements-are-origin-packages: Internal functions
Function, all-elements-are-symbols: Internal functions
Function, apropos-lib: Exported functions
Function, apropos-lib: Exported functions
Function, apropos-lib: Exported functions
Function, asdf-system-loaded: Internal functions
Function, define-sub-package-syms: Internal functions
Function, delete-hierarchy: Internal functions
Function, delete-system-aux: Exported functions
Function, delete-this-hierarchy: Exported functions
Function, delete-this-hierarchy: Exported functions
Function, delete-this-system: Exported functions
Function, delete-this-system: Exported functions
Function, filter-external-syms: Internal functions
Function, find-lib-aux: Internal functions
Function, find-syms: Exported functions
Function, find-syms: Exported functions
Function, find-syms: Exported functions
Function, format-package-tree-syms: Internal functions
Function, generate-system-symbols: Internal functions
Function, get-class-methods: Internal functions
Function, get-class-methods-unique-names: Internal functions
Function, get-generic-functions: Internal functions
Function, get-package-external-symbols: Internal functions
Function, get-package-names: Exported functions
Function, get-package-names: Exported functions
Function, get-package-names-aux: Exported functions
Function, get-parent-name: Internal functions
Function, get-struct-externals: Internal functions
Function, get-sub-packages: Internal functions
Function, get-sym-desc: Internal functions
Function, get-symbol-node: Internal functions
Function, get-target-sym-name: Internal functions
Function, import-and-get-symbols: Internal functions
Function, intern-later: Internal functions
Function, intern-now: Internal functions
Function, lazy-intern: Internal functions
Function, lib-symbolp: Internal functions
Function, make-origin-package: Internal functions
Function, match-with-symbol: Internal functions
Function, maybe-load: Internal functions
Function, maybe-load-system-at-startup: Internal functions
Function, method-detailp: Internal functions
Function, mkstr: Internal functions
Function, origin-packagep: Internal functions
Function, packages: Exported functions
Function, packages: Exported functions
Function, packages-aux: Exported functions
Function, prepare-libs: Internal functions
Function, prepare-std-libs: Internal functions
Function, rename-import-syms: Internal functions
Function, set-full-desc: Internal functions
Function, setup-packages: Exported functions
Function, should-load-at-startup: Internal functions
Function, symbol-count: Exported functions
Function, symbol-count: Exported functions
Function, symbol-count: Exported functions

G
generate-system-symbols: Internal functions
Generic Function, (setf branches): Internal generic functions
Generic Function, (setf containing-system): Internal generic functions
Generic Function, (setf full-desc): Internal generic functions
Generic Function, (setf get-name): Internal generic functions
Generic Function, (setf gf): Internal generic functions
Generic Function, (setf gmethods): Internal generic functions
Generic Function, (setf lib-symbols): Internal generic functions
Generic Function, (setf method-obj): Internal generic functions
Generic Function, (setf origin-packages): Internal generic functions
Generic Function, (setf parent): Internal generic functions
Generic Function, (setf path): Internal generic functions
Generic Function, (setf path-desc): Internal generic functions
Generic Function, (setf pkg-name): Internal generic functions
Generic Function, (setf specializers): Internal generic functions
Generic Function, (setf sym-name): Internal generic functions
Generic Function, (setf syms): Internal generic functions
Generic Function, (setf system-import-symbols-at-startup): Internal generic functions
Generic Function, (setf system-loaded): Internal generic functions
Generic Function, (setf system-name): Internal generic functions
Generic Function, branches: Internal generic functions
Generic Function, containing-system: Internal generic functions
Generic Function, convert: Internal generic functions
Generic Function, full-desc: Internal generic functions
Generic Function, get-name: Internal generic functions
Generic Function, gf: Internal generic functions
Generic Function, gmethods: Internal generic functions
Generic Function, lib-symbols: Internal generic functions
Generic Function, make-system: Internal generic functions
Generic Function, method-obj: Internal generic functions
Generic Function, origin-packages: Internal generic functions
Generic Function, parent: Internal generic functions
Generic Function, path: Internal generic functions
Generic Function, path-desc: Internal generic functions
Generic Function, pkg-name: Internal generic functions
Generic Function, specializers: Internal generic functions
Generic Function, sym-name: Internal generic functions
Generic Function, syms: Internal generic functions
Generic Function, system-import-symbols-at-startup: Internal generic functions
Generic Function, system-loaded: Internal generic functions
Generic Function, system-name: Internal generic functions
get-class-methods: Internal functions
get-class-methods-unique-names: Internal functions
get-generic-functions: Internal functions
get-name: Internal generic functions
get-name: Internal generic functions
get-package-external-symbols: Internal functions
get-package-names: Exported functions
get-package-names: Exported functions
get-package-names-aux: Exported functions
get-parent-name: Internal functions
get-struct-externals: Internal functions
get-sub-packages: Internal functions
get-sym-desc: Internal functions
get-symbol-node: Internal functions
get-target-sym-name: Internal functions
gf: Internal generic functions
gf: Internal generic functions
gmethods: Internal generic functions
gmethods: Internal generic functions

I
import-and-get-symbols: Internal functions
intern-later: Internal functions
intern-now: Internal functions

L
lazy-intern: Internal functions
lib-symbolp: Internal functions
lib-symbols: Internal generic functions
lib-symbols: Internal generic functions

M
Macro, with-system: Internal macros
make-origin-package: Internal functions
make-system: Internal generic functions
make-system: Internal generic functions
make-system: Internal generic functions
match-with-symbol: Internal functions
maybe-load: Internal functions
maybe-load-system-at-startup: Internal functions
Method, (setf branches): Internal generic functions
Method, (setf containing-system): Internal generic functions
Method, (setf full-desc): Internal generic functions
Method, (setf get-name): Internal generic functions
Method, (setf gf): Internal generic functions
Method, (setf gmethods): Internal generic functions
Method, (setf lib-symbols): Internal generic functions
Method, (setf method-obj): Internal generic functions
Method, (setf origin-packages): Internal generic functions
Method, (setf parent): Internal generic functions
Method, (setf parent): Internal generic functions
Method, (setf path): Internal generic functions
Method, (setf path-desc): Internal generic functions
Method, (setf pkg-name): Internal generic functions
Method, (setf specializers): Internal generic functions
Method, (setf sym-name): Internal generic functions
Method, (setf syms): Internal generic functions
Method, (setf system-import-symbols-at-startup): Internal generic functions
Method, (setf system-loaded): Internal generic functions
Method, (setf system-name): Internal generic functions
Method, branches: Internal generic functions
Method, containing-system: Internal generic functions
Method, convert: Internal generic functions
Method, convert: Internal generic functions
Method, convert: Internal generic functions
Method, convert: Internal generic functions
Method, full-desc: Internal generic functions
Method, get-name: Internal generic functions
Method, gf: Internal generic functions
Method, gmethods: Internal generic functions
Method, lib-symbols: Internal generic functions
Method, make-system: Internal generic functions
Method, make-system: Internal generic functions
Method, method-obj: Internal generic functions
Method, origin-packages: Internal generic functions
Method, parent: Internal generic functions
Method, parent: Internal generic functions
Method, path: Internal generic functions
Method, path-desc: Internal generic functions
Method, pkg-name: Internal generic functions
Method, specializers: Internal generic functions
Method, sym-name: Internal generic functions
Method, syms: Internal generic functions
Method, system-import-symbols-at-startup: Internal generic functions
Method, system-loaded: Internal generic functions
Method, system-loaded: Internal generic functions
Method, system-name: Internal generic functions
Method, system-name: Internal generic functions
method-detailp: Internal functions
method-obj: Internal generic functions
method-obj: Internal generic functions
mkstr: Internal functions

O
origin-packagep: Internal functions
origin-packages: Internal generic functions
origin-packages: Internal generic functions

P
packages: Exported functions
packages: Exported functions
packages-aux: Exported functions
parent: Internal generic functions
parent: Internal generic functions
parent: Internal generic functions
path: Internal generic functions
path: Internal generic functions
path-desc: Internal generic functions
path-desc: Internal generic functions
pkg-name: Internal generic functions
pkg-name: Internal generic functions
prepare-libs: Internal functions
prepare-std-libs: Internal functions

R
rename-import-syms: Internal functions

S
set-full-desc: Internal functions
setup-packages: Exported functions
should-load-at-startup: Internal functions
specializers: Internal generic functions
specializers: Internal generic functions
sym-name: Internal generic functions
sym-name: Internal generic functions
symbol-count: Exported functions
symbol-count: Exported functions
symbol-count: Exported functions
syms: Internal generic functions
syms: Internal generic functions
system-import-symbols-at-startup: Internal generic functions
system-import-symbols-at-startup: Internal generic functions
system-loaded: Internal generic functions
system-loaded: Internal generic functions
system-loaded: Internal generic functions
system-name: Internal generic functions
system-name: Internal generic functions
system-name: Internal generic functions

W
with-system: Internal macros

Jump to:   (  
A   B   C   D   F   G   I   L   M   O   P   R   S   W  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *   +   <  
B   F   G   I   L   M   N   O   P   S  
Index Entry  Section

*
*hierarchies*: Exported special variables
*lib-package-test*: Internal special variables
*lib-package-tree*: Exported special variables
*skipped-classes-in-check*: Internal special variables
*std-package-tree*: Exported special variables
*system-table*: Exported special variables

+
+doc-sys+: Internal special variables

<
<gf-tree>: Internal special variables
<lib-hierarchy-branch>: Internal special variables
<lib-hierarchy>: Internal special variables
<lib-symbol>: Internal special variables
<list>: Internal special variables
<method-detail>: Internal special variables
<symbol>: Internal special variables

B
branches: Internal classes

F
full-desc: Internal classes

G
gf: Internal classes
gmethods: Internal classes

I
import-symbols-at-startup: Internal classes

L
lib-symbols: Internal classes
loaded: Internal classes

M
method-obj: Internal classes

N
name: Internal classes
name: Internal classes

O
origin-packages: Internal classes

P
parent: Internal classes
parent: Internal classes
path: Internal classes
path-desc: Internal classes
pkg-name: Internal classes

S
Slot, branches: Internal classes
Slot, full-desc: Internal classes
Slot, gf: Internal classes
Slot, gmethods: Internal classes
Slot, import-symbols-at-startup: Internal classes
Slot, lib-symbols: Internal classes
Slot, loaded: Internal classes
Slot, method-obj: Internal classes
Slot, name: Internal classes
Slot, name: Internal classes
Slot, origin-packages: Internal classes
Slot, parent: Internal classes
Slot, parent: Internal classes
Slot, path: Internal classes
Slot, path-desc: Internal classes
Slot, pkg-name: Internal classes
Slot, specializers: Internal classes
Slot, sym-name: Internal classes
Slot, syms: Internal classes
Slot, system: Internal classes
Special Variable, *hierarchies*: Exported special variables
Special Variable, *lib-package-test*: Internal special variables
Special Variable, *lib-package-tree*: Exported special variables
Special Variable, *skipped-classes-in-check*: Internal special variables
Special Variable, *std-package-tree*: Exported special variables
Special Variable, *system-table*: Exported special variables
Special Variable, +doc-sys+: Internal special variables
Special Variable, <gf-tree>: Internal special variables
Special Variable, <lib-hierarchy-branch>: Internal special variables
Special Variable, <lib-hierarchy>: Internal special variables
Special Variable, <lib-symbol>: Internal special variables
Special Variable, <list>: Internal special variables
Special Variable, <method-detail>: Internal special variables
Special Variable, <symbol>: Internal special variables
specializers: Internal classes
sym-name: Internal classes
syms: Internal classes
system: Internal classes

Jump to:   *   +   <  
B   F   G   I   L   M   N   O   P   S  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   G   L   M   O   P   S   T  
Index Entry  Section

C
Class, gf-tree: Internal classes
Class, lib-hierarchy: Internal classes
Class, lib-hierarchy-branch: Internal classes
Class, lib-symbol: Internal classes
Class, method-detail: Internal classes
Class, origin-package: Internal classes
Class, system: Internal classes

G
gf-tree: Internal classes

L
lib: The lib package
lib-helper: The lib-helper system
lib-helper-asd: The lib-helper-asd package
lib-hierarchy: Internal classes
lib-hierarchy-branch: Internal classes
lib-symbol: Internal classes
lib~: The lib~ package
list-of-lib-symbols: Internal types
list-of-method-details: Internal types
list-of-origin-packages: Internal types
list-of-symbols: Internal types

M
method-detail: Internal classes

O
origin-package: Internal classes

P
Package, lib: The lib package
Package, lib-helper-asd: The lib-helper-asd package
Package, lib~: The lib~ package
Package, std: The std package

S
std: The std package
system: Internal classes
System, lib-helper: The lib-helper system

T
Type, list-of-lib-symbols: Internal types
Type, list-of-method-details: Internal types
Type, list-of-origin-packages: Internal types
Type, list-of-symbols: Internal types

Jump to:   C   G   L   M   O   P   S   T