Next: Module System Internals, Previous: Documentation, Up: Reflection
An experimental database of known names provided by the core Guile system
(available with guile -c) can be queried by evaluating:
(use-modules (ice-9 known-names))
The database is read-only, and contains items specific to the installed Guile. Each item belongs in one or more groups and has exactly one class. These are the groups:
C+scheme~%in both groups `scheme' and `C' -- should be empty!~%
- embedded-libltdl~%begins with lt_ -- should become empty over time~%
- libguile-internal~%begins with scm_i_~%
- gdb~%begins with gdb_~%
- coop~%begins with coop_~%
- gh~%begins with gh_~%
- g-fdes~%begins with g and ends with fds~%
- r-fdes~%begins with r and ends with fds~%
- scm~%begins with scm_~%
- k~%constants~%
- POSIX~%POSIX support~%
- math~%math functions~%
- docinfo~%documented in the info manual~%
- guile-C-API~%the official guile API available to C programs~%
- questionable~%exposed to C but not in the official API and not scm_~%
An item's class is a symbol describing the nature of the item and how to interpret the extra information (if any) associated with that item. In the following table, we call this extra. It is a string, possibly empty.
noneA through Z, inclusive.
This means that the item is a C symbol and probably belongs to the C
group. The letter is from the second column of the nm(1) output from which
this item was scanned.
single-symbolprimitiveprimitive-aliasformat is an alias for
simple-format.
procedureatan is (z . y), while for item error it is args.
procedure-alias[Probably with a SMOP, this module's interface can be formalized into some kind of discovery protocol, which would allow us to make guile-tools generate-METAINFO emit all the necessary code for arbitrary module collections. –ttn]