(gc ['cnt]) -> cnt | NIL
- Forces a garbage collection. When
cnt
is given, so many
millions of free cells are reserved, increasing the heap size if necessary.
: (gc)
-> NIL
: (stat)
2 3%
-> 53299
: (gc 4)
-> 4
: (stat)
5 1%
-> 53322
(ge0 'any) -> num | NIL
- Returns
num
when the argument is a number and greater or equal
zero, otherwise NIL
. See also gt0
, lt0
, =0
and n0
.
: (ge0 -2)
-> NIL
: (ge0 3)
-> 3
: (ge0 0)
-> 0
(genKey 'var 'cls ['hook ['num1 ['num2]]]) -> num
- Generates a key for a database tree. If a minimal key
num1
and/or a maximal key num2
is given, the next free number in that
range is returned. Otherwise, the current maximal key plus one is returned. See
also useKey
and maxKey
.
: (maxKey (tree 'nr '+Item))
-> 8
: (genKey 'nr '+Item)
-> 9
(get 'sym1|lst ['sym2|cnt ..]) -> any
- Fetches a value
any
from the properties of a symbol, or from a
list. From the first argument sym1|lst
, values are retrieved in
successive steps by either extracting the value (if the next argument is zero)
or a property (if the next argument is a symbol) from a symbol, the asoq
ed element (if the next argument is a
symbol), the n'th element (if the next argument is a positive number) or the
n'th CDR
(if the next argument is a negative number) from a list.
See also put
and :
.
: (put 'X 'a 1)
-> 1
: (get 'X 'a)
-> 1
: (put 'Y 'link 'X)
-> X
: (get 'Y 'link)
-> X
: (get 'Y 'link 'a)
-> 1
: (get '((a (b . 1) (c . 2)) (d (e . 3) (f . 4))) 'a 'b)
-> 1
: (get '((a (b . 1) (c . 2)) (d (e . 3) (f . 4))) 'd 'f)
-> 4
: (get '(X Y Z) 2)
-> Y
: (get '(X Y Z) 2 'link 'a)
-> 1
(getd 'any) -> fun | NIL
- Returns
fun
if any
is a symbol that has a function
definition, otherwise NIL
. See also fun?
.
: (getd '+)
-> 67327232
: (getd 'getd)
-> (("X") (and (sym? "X") (fun? (val "X")) (val "X")))
: (getd 1)
-> NIL
(getl 'sym1|lst1 ['sym2|cnt ..]) -> lst
- Fetches the complete property list
lst
from a symbol. That
symbol is sym1
(if no other arguments are given), or a symbol found
by applying the get
algorithm to
sym1|lst1
and the following arguments. See also putl
and maps
.
: (put 'X 'a 1)
-> 1
: (put 'X 'b 2)
-> 2
: (put 'X 'flg T)
-> T
: (getl 'X)
-> (flg (2 . b) (1 . a))
(glue 'any 'lst) -> sym
- Builds a new transient symbol (string) by
pack
ing the any
argument between
the individual elements of lst
. See also text
.
: (glue "," '(a b c d))
-> "a,b,c,d"
(goal '([sym 'any ..] . lst) ['sym 'any ..]) -> lst
- Constructs a Pilog query list from the list of
clauses
lst
. The head of the argument list may consist of a
sequence of symbols and expressions, which are used together with the optional
sym
and any
arguments to form an initial environment.
See also prove
.
: (goal '((likes John @X)))
-> (((1 (0) NIL ((likes John @X)) NIL T)))
: (goal '(@X 'John (likes @X @Y)))
-> (((1 (0) NIL ((likes @X @Y)) NIL ((0 . @X) 1 . John) T)))
(group 'lst) -> lst
- Builds a list of lists, by grouping all elements of
lst
with
the same CAR into a common sublist. See also Comparing, sort
and uniq
.
: (group '((1 . a) (1 . b) (1 . c) (2 . d) (2 . e) (2 . f)))
-> ((1 a b c) (2 d e f))
(gt0 'any) -> num | NIL
- Returns
num
when the argument is a number and greater than
zero, otherwise NIL
. See also ge0
, lt0
, =0
and n0
.
: (gt0 -2)
-> NIL
: (gt0 3)
-> 3