[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: obarray
From: |
Emanuel Berg |
Subject: |
Re: obarray |
Date: |
Sun, 15 Dec 2013 02:37:19 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
Juanma Barranquero <lekktu@gmail.com> writes:
> I think it's pretty clear: is a symbol table for
> (most) symbols. It is implemented as a vector, of
> prime length because of the way the hashing is done,
> and it does not make sense to examine it from Lisp
> *as a vector*, because its elements are not symbols,
> but have a more complex structure (basically, they
> implemented some kind of hash table). So the way to
> process all elements of that symbol table is to use
> mapatoms; looping over the vector won't give the
> symbols stored in the table.
Well, that description was a lot better.
So it is a hash table of symbols: variables, constants,
:keywords, functions, ...?
And when you do `defvar', is the symbol name inserted
into this data structure based on some property -
perhaps the name itself, or type (if a "symbol" isn't
atomic)?
Is the value inserted as well or do they use some sort
of pointer scheme?
--
Emanuel Berg, programmer-for-rent. CV, projects, etc at uXu
underground experts united: http://user.it.uu.se/~embe8573
- obarray, Emanuel Berg, 2013/12/14
- Re: obarray, Juanma Barranquero, 2013/12/14
- Message not available
- Re: obarray,
Emanuel Berg <=
- Re: obarray, Barry Margolin, 2013/12/14
- Re: obarray, Michael Heerdegen, 2013/12/14
- Re: obarray, Emanuel Berg, 2013/12/15
- Re: obarray, Barry Margolin, 2013/12/15
- Re: obarray, Emanuel Berg, 2013/12/15
- Re: obarray, Barry Margolin, 2013/12/16
- Re: obarray, Michael Heerdegen, 2013/12/16