new syntax - a provocation
Richard A. O'Keefe
ok@REDACTED
Fri Sep 26 01:51:36 CEST 2003
Joe Armstrong <joe@REDACTED> wrote:
For example, for dynamic XML manipulations I dare not represent an
XML parse tree as.
{AtomTag, [Attr], [Child]}
But have to use the horrible form
{String, [Attr], [Child]}
For fear that one day the atom table will explode :-)
I note that SWI Prolog _does_ use atoms for this purpose, even when
processing _huge_ RDF files. What's more, SWI Prolog uses atoms for
#PCDATA leaves.
Perhaps I should also point to the "logix" implementation
of Flat Concurrent Prolog. I never actually looked inside, but
my understanding was that atoms were implemented basically as free-
floating strings, with the added wrinkle that if two atoms were
compared and found to be equal, references to one were changed to
be references to the other. (Just _which_ references and just _how_
they were found escape my memory. I thought I had a copy of logix
on an old file system, but it was a shell script pointing to an
installation in Melbourne.)
More information about the erlang-questions
mailing list