(val 'var) -> any
- Returns the current value of
var
. See also setq
, set
and def
.
: (setq L '(a b c))
-> (a b c)
: (val 'L)
-> (a b c)
: (val (cdr L))
-> b
val/3
- Pilog predicate that returns the value of an
object's attribute. Typically used in database queries. The first argument is a
Pilog variable to bind the value, the second is the object, and the third and
following arguments are used to apply the
get
algorithm to that object. See also db/3
and select/3
.
: (?
(db nr +Item (2 . 5) @Item) # Fetch articles 2 through 5
(val @Nm @Item nm) # Get item description
(val @Sup @Item sup nm) ) # and supplier's name
@Item={B2} @Nm="Spare Part" @Sup="Seven Oaks Ltd."
@Item={B3} @Nm="Auxiliary Construction" @Sup="Active Parts Inc."
@Item={B4} @Nm="Enhancement Additive" @Sup="Seven Oaks Ltd."
@Item={B5} @Nm="Metal Fittings" @Sup="Active Parts Inc."
-> NIL
(var sym . any) -> any
(var (sym . cls) . any) -> any
- Defines a class variable
sym
with the initial value
any
for the current class, implicitly given by the value of the
global variable *Class
, or - in the
second form - for the explicitly given class cls. See also OO Concepts, rel
and var:
.
: (class +A)
-> +A
: (var a . 1)
-> 1
: (var b . 2)
-> 2
: (show '+A)
+A NIL
b 2
a 1
-> +A
(var: sym) -> any
- Fetches the value of a class variable
sym
for the current
object This
, by searching the property
lists of its class(es) and superclasses. See also OO
Concepts, var
, with
, meta
, :
,
=:
and ::
.
: (class +A)
-> +A
: (var a . 1)
-> 1
: (var b . 2)
-> 2
: (object 'O '(+A) 'a 9 'b 8)
-> O
: (with 'O (list (: a) (: b) (var: a) (var: b)))
-> (9 8 1 2)
(version ['flg]) -> lst
- Prints the current version as a string of dot-separated numbers, and returns
the current version as a list of numbers. The JVM- and C-versions print an
additional "JVM" or "C", respectively, separated by a space. When
flg
is non-NIL, printing is suppressed. See also *CPU
and *OS
.
$ pil -version
15.11.0
: (version T)
-> (15 11 0)
(vi 'sym) -> sym | NIL
(vi 'sym 'cls) -> sym | NIL
(vi 'lst) -> lst | NIL
(v . lst) -> lst | NIL
(v) -> NIL
- (Debug mode only) Opens the Vip editor on the function or method definition
of
sym
(source file or direct path name), or on a list of symbols
lst
(in-memory). (v)
resumes a Vip session suspended
with "qz". See also doc
, *Dbg
, debug
and pp
.
: (vi 'put> '+Entity) # Edit the method's source code
: (v {1}) # In-memory-edit the database root object
-> put>
(view 'lst ['T]) -> any
- Views
lst
as tree-structured ASCII graphics. When the
T
argument is given, lst
should be a binary tree
structure (as generated by idx
), which
is then shown as a left-rotated tree. See also pretty
and show
.
: (balance 'I '(a b c d e f g h i j k l m n o))
-> NIL
: I
-> (h (d (b (a) c) f (e) g) l (j (i) k) n (m) o)
: (view I)
+-- h
|
+---+-- d
| |
| +---+-- b
| | |
| | +---+-- a
| | |
| | +-- c
| |
| +-- f
| |
| +---+-- e
| |
| +-- g
|
+-- l
|
+---+-- j
| |
| +---+-- i
| |
| +-- k
|
+-- n
|
+---+-- m
|
+-- o
-> NIL
: (view I T)
o
n
m
l
k
j
i
h
g
f
e
d
c
b
a
-> NIL