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