Hi Thorsten,

> 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
general.


> [?  _  $] in a method-name imply?

> xml?              # probably a predicate

Right.

'?' by itself is not really a predicate, though, but the frontend
function for interactive Pilog queries.


> _xml

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
resources.


> _xml_

A trailing underscore has no special meaning.


> xml$

'$' 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"
(doc/ref.html#conv).


> 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
   _unevaluated_ arguments.

   This is described in more detail in "Evaluation" (doc/ref.html#ev).

Cheers,
- Alex
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

Reply via email to