home *** CD-ROM | disk | FTP | other *** search
- The new functions contributed by the bair group dealing with symbol
- creation have been changed from fexprs to exprs (lambdas) and lexprs.
-
- The new documentation follows:
-
-
-
-
-
-
-
- The functions described below are an alternative to the
- gensym facility. They generate new symbols by attaching
- counter numbers to the ends of the symbols' names. An exam-
- ple follows of how the functions are used.
-
-
- ____________________________________________________
-
- -> (initsym 'joe '(john 5)) ; initializing new symbol counters
- (joe0 john5)
- -> (newsym 'john) ; create a new symbol
- john6
- -> (newsym 'chuck) ; symbol need not be initsym'ed
- chuck0
- -> (oldsym 'john) ; get current symbol
- john6
- -> (allsym 'john) ; get all symbols between 0 and counter
- (john0 john1 john2 john3 john4 john5 john6)
- -> (allsym '(john 5)) ; get all symbols between 5 and counter
- (john5 john6)
- -> (remsym 'joe '(john 4)) ; remob all interned symbols
- ; associated with joe and from
- ; john4 to the current john
- ; symbol--returns symbols with symbol counters
- ; before doing remsym
- (joe0 john6)
- -> (symstat 'joe 'john)
- ((joe nil) (john 3))
- ____________________________________________________
-
-
-
-
- (initsym 'g_arg1 ...)
-
- WHERE: g_argi is a list (n_counteri s_argi) or a
- string s_argi (which is equivalent to (0
- s_argi)).
-
- RETURNS: a list of interned identifiers using the sym-
- bol counters n_counteri, i.e., the result of
- concatenating s_argi to n_counteri.
-
- EXAMPLE: (initsym 'joe '(john 5)) ==> (joe0 john5)
-
- NOTE: See also newsym, oldsym, allsym, remsym, and sym-
- stat functions.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- (newsym 's_arg)
-
- RETURNS: an interned identifier formed by concatenating
- the name s_arg to the symbol counter for
- s_arg. The symbol counter is stored on the
- property list of s_arg under symctr. If there
- is no counter, a counter of 0 is used and
- added to the property list. Thus, a symbol
- need not be initsymed.
-
- EXAMPLE: (initsym 'joe '(john5)) ==> (joe0 john5)
- (newsym 'john) ==> john6
- (newsym 'joe) ==> joe1
-
- NOTE: See also initsym, oldsym, allsym, remsym, and
- symstat functions.
-
- (oldsym 's_arg)
-
- RETURNS: the identifier using the current symbol
- counter for s_arg, rather than creating a new
- identifier. If no symbol counter exists for
- s_arg, then s_arg is returned.
-
- NOTE: See also initsym, newsym, allsym, remsym, and
- symstat functions.
-
- (allsym 'g_arg)
-
- WHERE: g_arg is a list (s_arg n_counter) or a string
- s_arg (equivalent to (s_arg 0)).
-
- RETURNS: a list of all the created identifiers between
- n_counter and the current symbol counter for
- s_arg.
-
- EXAMPLE: (allsym 'john) ==> (john0 john1 john2)
-
- NOTE: See also initsym, newsym, oldsym, remsym, and
- symstat functions.
-
- (remsym 'g_arg1 ...)
-
- WHERE: g_argi is a list (s_argi n_counteri) or a
- string s_argi (which is equivalent to (s_argi
- 0)).
-
- RETURNS: a list of symbols s_argi with the current sym-
- bol counters.
-
- SIDE EFFECT: remsym remob's all the created identifiers
- between zero and the current symbol
- counter for s_argi.
-
-
-
-
-
-
-
-
-
-
-
-
-
- NOTE: See also initsym, newsym oldsym, allsym, and sym-
- stat functions.
-
- (symstat 's_arg1 ...)
-
- RETURNS: a list of pairs consisting of (s_argi symctri)
- where symctri is s_argi's current symbol
- counter.
-
- NOTE: See also initsym, newsym, oldsym, allsym, and
- remsym functions.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-