(guile.info.gz) Obarray Symbols
Info Catalog
(guile.info.gz) C Module Reg
(guile.info.gz) Deprecated
(guile.info.gz) Removed Items
36.6 Obarray Symbol Manipulation
================================
Guile's module mechanism uses "obarrays", which are hash tables that
map symbols to variables. Guile 1.4 included a group of primitives that
could be used for the manipulation of the symbol-variable mappings in
such obarrays.
However, considering the availability both of low-level procedures
for operating on hash tables in general ( Hash Tables), and of a
dedicated API for module-related operations ( Modules), the
intermediate set of obarray primitives is no longer useful, and --
which is worse -- makes it more difficult to evolve the implementation
of Guile's module system. Hence this set of primitives has now been
deprecated.
If you have code using these functions, please change it to use
either hash table or module-related operations.
-- Deprecated Scheme Procedure: gentemp [prefix [obarray]]
-- Deprecated C Function: scm_gentemp (prefix, obarray)
Create a new symbol with a name unique in an obarray. The name is
constructed from an optional string PREFIX and a counter value.
The default prefix is `t'. The OBARRAY is specified as a second
optional argument. Default is the system obarray where all normal
symbols are interned. The counter is increased by 1 at each call.
There is no provision for resetting the counter.
-- Deprecated Scheme Procedure: intern-symbol obarray string
-- Deprecated C Function: scm_intern_symbol (obarray, string)
Add a new symbol to OBARRAY with name STRING, bound to an
unspecified initial value. The symbol table is not modified if a
symbol with this name is already present.
-- Deprecated Scheme Procedure: symbol-interned? obarray string
-- Deprecated C Function: scm_symbol_interned_p (obarray, string)
Return `#t' if OBARRAY contains a symbol with name STRING, and
`#f' otherwise.
-- Deprecated Scheme Procedure: unintern-symbol obarray string
-- Deprecated C Function: scm_unintern_symbol (obarray, string)
Remove the symbol with name STRING from OBARRAY. This function
returns `#t' if the symbol was present and `#f' otherwise.
-- Deprecated Scheme Procedure: string->obarray-symbol obarray string
[soft?]
-- Deprecated C Function: scm_string_to_obarray_symbol (obarray,
string, soft_p)
Intern a new symbol in OBARRAY, a symbol table, with name STRING.
If OBARRAY is `#f', use the default system symbol table. If
OBARRAY is `#t', the symbol should not be interned in any symbol
table; merely return the pair (SYMBOL . #<UNDEFINED>).
The SOFT? argument determines whether new symbol table entries
should be created when the specified symbol is not already present
in OBARRAY. If SOFT? is specified and is a true value, then new
entries should not be added for symbols not already present in the
table; instead, simply return `#f'.
-- Deprecated Scheme Procedure: symbol-binding obarray string
-- Deprecated C Function: scm_symbol_binding (obarray, string)
Look up in OBARRAY the symbol whose name is STRING, and return the
value to which it is bound. If OBARRAY is `#f', use the global
symbol table. If STRING is not interned in OBARRAY, an error is
signalled.
-- Deprecated Scheme Procedure: symbol-bound? obarray string
-- Deprecated C Function: scm_symbol_bound_p (obarray, string)
Return `#t' if OBARRAY contains a symbol with name STRING bound to
a defined value. This differs from SYMBOL-INTERNED? in that the
mere mention of a symbol usually causes it to be interned;
`symbol-bound?' determines whether a symbol has been given any
meaningful value.
-- Deprecated Scheme Procedure: symbol-set! obarray string value
-- Deprecated C Function: scm_symbol_set_x (obarray, string, value)
Find the symbol in OBARRAY whose name is STRING, and rebind it to
VALUE. An error is signalled if STRING is not present in OBARRAY.
-- Deprecated Scheme Procedure: builtin-bindings
-- Deprecated C Function: scm_builtin_bindings
Create and return a copy of the global symbol table, removing all
unbound symbols.
Info Catalog
(guile.info.gz) C Module Reg
(guile.info.gz) Deprecated
(guile.info.gz) Removed Items
automatically generated byinfo2html