> There a two xml-libraries in the picolisp distrubution, xm.l (shorter but
> newer) and xml.l.
> Which one is the 'official' one? Is one of them a rewrite of the other?
"xml.l" is the "official" one. "xm.l" is sufficient for simple purposes
(and used by some apps), and exists for historical reasons.
> I think I read something about it, but I can't find it anymore:
> What are the naming conventions for PicoLisp-methods? What does the use of
The naming conventions apply not only to methods, but to functions in
> [? _ $] in a method-name imply?
> xml? # probably a predicate
'?' by itself is not really a predicate, though, but the frontend
function for interactive Pilog queries.
If the first character is an underscore, it denotes a local function. It
is to tell the user (and the 'lint' function) that this function might,
for example, access free variables not bound in other contexts, or other
A trailing underscore has no special meaning.
'$' in the beginning or end of the function's name usually indicates
some kind of string function. This is not a clearly defined convention.
BTW, most conventions are described in "Naming Conventions"
> what kind of method is this, with a "string" (transient symbol) as name and
> the argument without parenthesis:
> (de "xmlL" Lst
> (push ...) )
These are two independent issues:
1. Using a transient symbol protects this symbol from accesses outside
the current source file. This applies to functions, methods,
variables or whatever.
2. If a function or method has a single symbolic parameter (not a list
of symbols as in most cases), this symbol is bound to the list of all
This is described in more detail in "Evaluation" (doc/ref.html#ev).