O

(object 'sym 'typ ['sym 'any ..]) -> obj
Defines sym to be an object of type typ. The property list is initialized with all optionally supplied key-value pairs. See also OO Concepts, new, type and isa.


: (object 'Obj '(+A +B +C) 'a 1 'b 2 'c 3)
-> Obj
: (show 'Obj)
Obj (+A +B +C)
   c 3
   b 2
   a 1
-> Obj
(oct 'num) -> sym
(oct 'sym) -> num
Converts a number num to an octal string, or an octal string sym to a number. See also hex and format.


: (oct 73)
-> "111"
: (oct "111")
-> 73
(off sym ..) -> NIL
Stores NIL in the VAL's of all argument symbols sym. See also on, onOff, zero and one.


: (off A B)
-> NIL
: A
-> NIL
: B
-> NIL
(offset 'lst1 'lst2) -> cnt | NIL
Returns the cnt position of the tail list lst1 in lst2, or NIL if it is not found. See also index.


: (offset '(c d e f) '(a b c d e f))
-> 3
: (offset '(c d e) '(a b c d e f))
-> NIL
(on sym ..) -> T
Stores T in the VAL's of all argument symbols sym. See also off, onOff, zero and one.


: (on A B)
-> T
: A
-> T
: B
-> T
(one sym ..) -> 1
Stores 1 in the VAL's of all argument symbols sym. See also zero, on, off and onOff.


: (one A B)
-> 1
: A
-> 1
: B
-> 1
(onOff sym ..) -> flg
Logical negates the VAL's of all argument symbols sym. Returns the new value of the last symbol. See also on, off, zero and one.


: (onOff A B)
-> T
: A
-> T
: B
-> T
: (onOff A B)
-> NIL
: A
-> NIL
: B
-> NIL
(open 'sym) -> cnt | NIL
Opens the file sym in read/write mode, and returns a file descriptor cnt (or NIL on error). If the file does not exist, it is created. The file descriptor can be used in subsequent calls to in and out. See also close.


: (open "x")
-> 3
(opt) -> sym
Return the next command line argument (option) as a string, and remove it from the remaining command line arguments. See also Invocation and argv.


$ ./p  -"de f () (println 'opt (opt))"  -f abc  -bye
opt "abc"
(or 'any ..) -> any
Logical OR. The expressions any are evaluated from left to right. If a non-NIL value is encountered, it is returned immediately. Else the result of the last expression is returned.


: (or (= 3 3) (read))
-> T
: (or (= 3 4) (read))
abc
-> abc
(out 'any . prg) -> any
Opens any as output channel during the execution of prg. The current output channel will be saved and restored appropriately. If the argument is NIL, standard output is used. If the argument is a symbol, it is used as a file name (opened in "append" mode if the first character is "+"). If it is a number, it is used as the descriptor of an open file. Otherwise (if it is a list), it is taken as a command with arguments, and a pipe is opened for output. See also call, in, pipe, ctl and load.


: (out "a" (println 123 '(a b c) 'def))      # Write one line to file "a"
-> def