11jun09abu
(c) Software Lab. Alexander Burger


         Release Notes for picoLisp-2.3.7
         ================================

A. 'getd' is now more intelligent. It also checks for a shared library if the
   symbol is of the form 'lib:Foo', and loads the corresponding code if
   necessary like it is done during normal execution. This makes it possible to
   'trace' such functions before initial execution.

B. The function 'mkChar()' (and all functions that call it, like 'char', 'key',
   'line', 'skip', 'till', 'chop', and others), interned single-character values
   into the transient symbol table for efficiency reasons. This should actually
   be considered a bug, because it breaks the static scope rules of transient
   symbols. Now these characters are not interned any more (as was, btw, always
   the case in miniPicoLisp).

C. It was found that the hash table for external symbols was too small, and the
   hash function was not optimal. Now the lookup of external objects for large
   databases (> 100 million objects, typically caching 1 million objects) is
   about 20 times faster.

D. There is now a block comment from Kriangkrai Soatthiyanont, using #{...}#

E. The 'stk' runtime stack dump function was removed, as it was only of limited
   (or no) use.

F. The 'dbg' startup script is a convenient shortcut for './p dbg.l', with the
   additional advantage that debug mode (the '*Dbg' global) is switched on
   earlier, so that (vi 'foo) also works for system functions loaded by "lib.l"
   and "ext.l" etc.
