| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
6.22.2.2 Common Feature Symbols
In general, a particular feature may be available for one of two reasons. Either because the Guile library was configured and compiled with that feature enabled — i.e. the feature is built into the library on your system. Or because some C or Scheme code that was dynamically loaded by Guile has added that feature to the list.
In the first category, here are the features that the current version of Guile may define (depending on how it is built), and what they mean.
-
array Indicates support for arrays (see section Arrays).
-
array-for-each Indicates availability of
array-for-eachand other array mapping procedures (see section Arrays).-
char-ready? Indicates that the
char-ready?function is available (see section Reading).-
complex Indicates support for complex numbers.
-
current-time Indicates availability of time-related functions:
times,get-internal-run-timeand so on (see section Time).-
debug-extensions Indicates that the debugging evaluator is available, together with the options for controlling it.
-
delay Indicates support for promises (see section Delayed Evaluation).
-
EIDs Indicates that the
geteuidandgetegidreally return effective user and group IDs (see section Processes).-
inexact Indicates support for inexact numbers.
-
i/o-extensions Indicates availability of the following extended I/O procedures:
ftell,redirect-port,dup->fdes,dup2,fileno,isatty?,fdopen,primitive-move->fdesandfdes->ports(see section Ports and File Descriptors).-
net-db Indicates availability of network database functions:
scm_gethost,scm_getnet,scm_getproto,scm_getserv,scm_sethost,scm_setnet,scm_setproto,scm_setserv, and their ‘byXXX’ variants (see section Network Databases).-
posix Indicates support for POSIX functions:
pipe,getgroups,kill,execland so on (see section POSIX System Calls and Networking).-
random Indicates availability of random number generation functions:
random,copy-random-state,random-uniformand so on (see section Random Number Generation).-
reckless Indicates that Guile was built with important checks omitted — you should never see this!
-
regex Indicates support for POSIX regular expressions using
make-regexp,regexp-execand friends (see section Regexp Functions).-
socket Indicates availability of socket-related functions:
socket,bind,connectand so on (see section Network Sockets and Communication).-
sort Indicates availability of sorting and merging functions (see section Sorting).
-
system Indicates that the
systemfunction is available (see section Processes).-
threads Indicates support for multithreading (see section Threads).
-
values Indicates support for multiple return values using
valuesandcall-with-values(see section Returning and Accepting Multiple Values).
Available features in the second category depend, by definition, on what additional code your Guile process has loaded in. The following table lists features that you might encounter for this reason.
-
defmacro Indicates that the
defmacromacro is available (see section Macros).-
describe Indicates that the
(oop goops describe)module has been loaded, which provides a procedure for describing the contents of GOOPS instances.-
readline Indicates that Guile has loaded in Readline support, for command line editing (see section Readline Support).
-
record Indicates support for record definition using
make-record-typeand friends (see section Records).
Although these tables may seem exhaustive, it is probably unwise in
practice to rely on them, as the correspondences between feature symbols
and available procedures/behaviour are not strictly defined. If you are
writing code that needs to check for the existence of some procedure, it
is probably safer to do so directly using the defined? procedure
than to test for the corresponding feature using provided?.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
