updated version, but need to update installation scripts
[cls.git] / xlisp.hlp
blobcf37828b5a6c87f90320875417e389070b0ea1cb
1 ;; system variables
2 (*OBARRAY* VARIABLE) "The object hash table"
3 (*STANDARD-INPUT* VARIABLE) "Default input stream."
4 (*STANDARD-OUTPUT* VARIABLE) "Default output stream."
5 (*ERROR-OUTPUT* VARIABLE) "Default error output stream."
6 (*DEBUG-IO* VARIABLE) "Default break input/output stream."
7 (*TRACE-OUTPUT* VARIABLE) "Default trace output stream."
8 (*EVALHOOK* VARIABLE)
9 "If *EVALHOOK* is not NIL, its value must be a function of two arguments: 
10 a form to evaluate and an environment.  This function does the evaluation
11 instead of EVAL."
12 (*APPLYHOOK* VARIABLE)
13 "Used to substitute another function for the implicit APPLY normally
14 done within EVAL.  If *APPLYHOOK* is not NIL, its value must be a
15 function of two arguments: a function to be applied and a list of
16 arguments.  This function does the application instead of APPLY."
17 (*TRACELIST* VARIABLE) "List of names of functions and macros to be traced"
18 (*TRACENABLE* VARIABLE) "Enable backtrace on errors"
19 (*TRACELIMIT* VARIABLE) "Number of levels of trace back information"
20 (*BREAKENABLE* VARIABLE) "Enter the break loop on errors?"
21 (*READTABLE* VARIABLE) "The current readtable."
22 (*GC-FLAG* VARIABLE) "Controls printing of GC messages"
23 (*GC-HOOK* VARIABLE) "If not nil, function of two arguments to be called after GC"
24 (*PRINT-CASE* VARIABLE) "symbol output case (:upcase or :downcase)"
25 (*RANDOM-STATE* VARIABLE) "Current state of the random number generator"
26 (*INPUT-STREAM* VARIABLE) "Stream used for buffering between listener and reader."
27 (PI VARIABLE)
28 "The floating-point number that is approximately equal to the ratio of the
29 circumference of a circle to its diameter."
30 (-   VARIABLE) "The current input expression"
31 (+   VARIABLE) "The last expression read"
32 (++  VARIABLE) "The previous value of +"
33 (+++ VARIABLE) "The previous value of ++"
34 (*   VARIABLE) "The result of the last evaluation"
35 (**  VARIABLE) "The previous value of *"
36 (*** VARIABLE) "The previous value of **"
37 (*DEFAULT-PATH* VARIABLE) "Default path for require"
39 (*FEATURES* VARIABLE)
40 "List of symbols that name features of the current version of XLISP-STAT."
41 (*MODULES* VARIABLE)
42 "list of names of the modules that have been loaded."
43 (*PACKAGE* VARIABLE)
44 "The current package."
45 (*PRINT-ARRAY* VARIABLE)
46 "Print array elements?"
47 (*PRINT-CIRCLE* VARIABLE)
48 "Print circular structures readably?"
49 (*PRINT-ESCAPE* VARIABLE)
50 "Print escape characters when appropriate?"
51 (*PRINT-GENSYM* VARIABLE)
52 "Print uninterned symbols with #:?"
53 (*PRINT-LENGTH* VARIABLE)
54 "Number of elements to print at each level.  Unlimited if NIL."
55 (*PRINT-LEVEL* VARIABLE)
56 "Number of levels to print.  Unlimited if NIL."
57 (*READ-SUPPRESS* VARIABLE)
58 "Suppress reader interpretation of read expressions?"
59 (*TERMINAL-IO* VARIABLE)
60 "The terminal I/O stream."
61 (INTERNAL-TIME-UNITS-PER-SECOND VARIABLE)
62 "The number of internal time units that fit into a second."
63 (LAMBDA-LIST-KEYWORDS VARIABLE)
64 "List of all the lambda-list keywords."
65 (NIL VARIABLE)
66 "Holds NIL."
67 (T VARIABLE)
68 "Holds T."
70 ;; Built in types
71 (SUBR TYPE) "Built in function"
72 (FSUBR TYPE) "Built in special form or macro"
73 (CONS TYPE) "A list cell"
74 (SYMBOL TYPE) "A symbol"
75 (FIXNUM TYPE) "An integer"
76 (FLONUM TYPE) "A floating point number"
77 (STRING TYPE) "A string"
78 (OBJECT TYPE) "An xlisp object"
79 (FILE-STREAM TYPE) "A file stream"
80 (VECTOR TYPE) "A vector"
81 (CLOSURE TYPE) "A function closure or macro"
82 (CHARACTER TYPE) "A character"
83 (UNNAMED-STREAM TYPE) "An unnamed stream (string input stream, e. g.)"
84 (COMPLEX TYPE) "A complex number"
85 (ARRAY TYPE) "A displaced multidimensional array"
87 ;; built in object prototypes
88 (*OBJECT* VARIABLE) "The top of the object hierarchy."
89 (HARDWARE-OBJECT-PROTO VARIABLE) "Internally allocatable object prototype"
90 (WINDOW-PROTO VARIABLE) "Window prototype"
91 (EDIT-WINDOW-PROTO VARIABLE) "Edit window prototype"
92 (LISTENER-PROTO VARIABLE) "Listener window prototype"
93 (MENU-PROTO VARIABLE) "Menu prototype"
94 (APPLE-MENU-PROTO VARIABLE) "Apple menu prototype"
95 (MENU-ITEM-PROTO VARIABLE) "Menu item prototype"
96 (DIALOG-PROTO VARIABLE) "Dialog prototype"
97 (DIALOG-ITEM-PROTO VARIABLE) "Dialog item prototype"
98 (BUTTON-ITEM-PROTO VARIABLE) "Dialog button prototype"
99 (TOGGLE-ITEM-PROTO VARIABLE) "Dialog toggle item (check box) prototype"
100 (TEXT-ITEM-PROTO VARIABLE) "Dialog text item prototype (editable or static)"
101 (CHOICE-ITEM-PROTO VARIABLE) "Dialog choice item (radio button cluster) prototype"
102 (SCROLL-ITEM-PROTO VARIABLE) "Dialog scroll bar prototype"
103 (LIST-ITEM-PROTO VARIABLE) "Dialog list item prototype"
104 (GRAPH-WINDOW-PROTO VARIABLE) "Graphics window prototype"
105 (GRAPH-PROTO VARIABLE) "Dynamic plot prototype"
106 (SPIN-PROTO VARIABLE) "Rotating plot prototype"
107 (SCATMAT-PROTO VARIABLE) "Scatterplot matrix prototype"
108 (NAME-LIST-PROTO VARIABLE) "Name list prototype"
109 (HISTOGRAM-PROTO VARIABLE) "Histogram prototype"
110 (SCATTERPLOT-PROTO VARIABLE) "Scatterplot prototype"
111 (COMPOUND-DATA-PROTO VARIABLE) "Compound data object prototype"
113 ;; evaluator functions 
114 EVAL
115 "Args: (expr)
116 Evaluates EXPR in a NULL environment and returns the result."
117 APPLY
118 "Args: (function &rest args)
119 Conses all arguments but the last onto the last and applies FUNCTION to 
120 the resulting argument list. Last argument must be a list."
121 FUNCALL
122 "Args: (function &rest arguments)
123 Applies FUNCTION to the ARGUMENTs"
124 QUOTE
125 "Syntax: (quote x)
126 Returns X without evaluating it. ALso 'x."
127 FUNCTION
128 "Syntax: (function x)
129 If X is a lambda expression, creates and returns a lexical closure of X in
130 the current lexical environment. If X is a symbol that names a function,
131 returns that function. ALso #'x."
132 BACKQUOTE
133 "Syntax: (backquote template) or `template.
134 Fills in TEMPLATE by expanding COMMA and COMMA-AT expressions."
135 LAMBDA
136 "Syntax: (lambda args {forms}*)
137 Makes a function closure."
139 ;; symbol functions
141 "Args: (symbol value)
142 Assigns the value of VALUE to the dynamic variable named by SYMBOL (i. e.
143 it changes the global definition of SYMBOL), and returns the value assigned."
144 SETQ
145 "Syntax: (setq {var form}*)
146 VARs are not evaluated and must be symbols.  Assigns the value of the first
147 FORM to the first VAR, then assigns the value of the second FORM to the second
148 VAR, and so on.  Returns the last value assigned."
149 SETF
150 "Syntax: (setf {place newvalue}*)
151 Replaces the value in PLACE with the value of NEWVALUE, from left to right.
152 Returns the value of the last NEWVALUE.  Each PLACE may be any one of the
153 following:
154   * A symbol that names a variable.
155   * A function call form whose first element is the name of the following
156     functions:
157         nth
158         aref subarray sublist select elt
159         get
160         symbol-value
161         symbol-plist
162         documentation
163         slot-value
164         c?r     c??r    c???r   c????r
165     where '?' stands for either 'a' or 'd'."
166 DEFUN
167 "Syntax: (defun name lambda-list [doc] {form}*)
168 Defines a function as the global definition of the symbol NAME. The
169 complete syntax of a lambda-list is:
170         ({var}*
171          [&optional {var}*]
172          [&rest var]
173          [&aux {var}*])
174 The doc-string DOC, if supplied, is saved as a FUNCTION doc and can be
175 retrieved by (documentation 'NAME 'function)."
176 DEFMACRO
177 "Syntax: (defmacro name defmacro-lambda-list [doc] {form}*)
178 Defines a macro as the global definition of the symbol NAME. The complete
179 syntax of a lambda-list is:
180         ({var}*
181          [&optional {var}*]
182          [&rest var]
183          [&aux {var}*])
184 The doc-string DOC, if supplied, is saved as a FUNCTION doc and can be
185 retrieved by (documentation 'NAME 'function)."
186 GENSYM
187 "Args: (&optional (x nil))
188 Creates and returns a new uninterned symbol whose name is a prefix string
189 (defaults to \"G\"), followed by a decimal number.  The number is incremented
190 by each call to GENSYM.  X, if an integer, resets the counter.  If X is a
191 string, it becomes the new prefix."
192 MAKE-SYMBOL
193 "Args: (string)
194 Create and return new uninterned symbol with print name STRING."
195 INTERN
196 "Args: (name)
197 Returns a symbol having the specified name, creating it if necessary."
198 SYMBOL-NAME
199 "Args: (symbol)
200 Returns the print name of the symbol SYMBOL."
201 SYMBOL-VALUE
202 "Args: (symbol)
203 Returns the current global value of the variable named by SYMBOL."
204 SYMBOL-FUNCTION
205 "Args: (symbol)
206 Returns the current global function definition of the function named by SYMBOL."
207 SYMBOL-PLIST
208 "Args: (symbol)
209 Returns the property list of SYMBOL."
211 "Args: (symbol indicator)
212 Looks on the property list of SYMBOL for the specified INDICATOR.  If this
213 is found, returns the associated value.  Otherwise, returns nil."
214 GETF
215 "Args: (place indicator &optional default)
216 Returns property value of INDICATOR in PLACE, or DEFAULT if not found."
217 PUTPROP
218 "Args: (symbol value indicator)
219 Puts property INDICATOR with value VALUE on the property list of SYMBOL.
220 Returns VALUE."
221 REMPROP
222 "Args: (symbol indicator)
223 Look on property list of SYMBOL for property with specified
224 INDICATOR.  If found, splice this indicator and its value out of
225 the plist, and return the tail of the original list starting with
226 INDICATOR.  If not found, returns NIL with no side effects.
227 (This is what it should  return. Actually always returns nil. ***BUG***)"
228 HASH
229 " Args (sym n)
230 Computes the hash index for symbol SYM in a table of size N."
231                         
232 ;; list functions
234 "Args: (list)
235 Returns the car of LIST.  Returns NIL if LIST is NIL."
237 "Args: (list)
238 Returns the cdr of LIST.  Returns NIL if LIST is NIL."
239 CAAAAR
240 "Args: (x)
241 Equivalent to (CAR (CAR (CAR (CAR X))))."
242 CAAADR
243 "Args: (x)
244 Equivalent to (CAR (CAR (CAR (CDR X))))."
245 CAAAR
246 "Args: (x)
247 Equivalent to (CAR (CAR (CAR X)))."
248 CAADAR
249 "Args: (x)
250 Equivalent to (CAR (CAR (CDR (CAR X))))."
251 CAADDR
252 "Args: (x)
253 Equivalent to (CAR (CAR (CDR (CDR X))))."
254 CAADR
255 "Args: (x)
256 Equivalent to (CAR (CAR (CDR X)))."
257 CAAR
258 "Args: (x)
259 Equivalent to (CAR (CAR X))."
260 CADAAR
261 "Args: (x)
262 Equivalent to (CAR (CDR (CAR (CAR X))))."
263 CADADR
264 "Args: (x)
265 Equivalent to (CAR (CDR (CAR (CDR X))))."
266 CADAR
267 "Args: (x)
268 Equivalent to (CAR (CDR (CAR X)))."
269 CADDAR
270 "Args: (x)
271 Equivalent to (CAR (CDR (CDR (CAR X))))."
272 CADDDR
273 "Args: (x)
274 Equivalent to (CAR (CDR (CDR (CDR X))))."
275 CADDR
276 "Args: (x)
277 Equivalent to (CAR (CDR (CDR X)))."
278 CADR
279 "Args: (x)
280 Equivalent to (CAR (CDR X))."
281 CDAADR
282 "Args: (x)
283 Equivalent to (CDR (CAR (CAR (CDR X))))."
284 CDAAR
285 "Args: (x)
286 Equivalent to (CDR (CAR (CAR X)))."
287 CDADAR
288 "Args: (x)
289 Equivalent to (CDR (CAR (CDR (CAR X))))."
290 CDADDR
291 "Args: (x)
292 Equivalent to (CDR (CAR (CDR (CDR X))))."
293 CDADR
294 "Args: (x)
295 Equivalent to (CDR (CAR (CDR X)))."
296 CDAR
297 "Args: (x)
298 Equivalent to (CDR (CAR X))."
299 CDDAAR
300 "Args: (x)
301 Equivalent to (CDR (CDR (CAR (CAR X))))."
302 CDDADR
303 "Args: (x)
304 Equivalent to (CDR (CDR (CAR (CDR X))))."
305 CDDAR
306 "Args: (x)
307 Equivalent to (CDR (CDR (CAR X)))."
308 CDDDAR
309 "Args: (x)
310 Equivalent to (CDR (CDR (CDR (CAR X))))."
311 CDDDDR
312 "Args: (x)
313 Equivalent to (CDR (CDR (CDR (CDR X))))."
314 CDDDR
315 "Args: (x)
316 Equivalent to (CDR (CDR (CDR X)))."
317 CDDR
318 "Args: (x)
319 Equivalent to (CDR (CDR X))."
320 CDAAAR
321 "Args: (x)
322 Equivalent to (CDR (CAR (CAR (CAR X))))."
323 FIRST
324 "Args: (x)
325 Equivalent to (CAR X)."
326 SECOND
327 "Args: (x)
328 Equivalent to (CAR (CDR X))."
329 THIRD
330 "Args: (x)
331 Equivalent to (CADDR X)."
332 FOURTH
333 "Args: (x)
334 Equivalent to (CADDDR X)."
336 REST
337 "Args: (x)
338 Equivalent to (CDR X)."
340 CONS
341 "Args: (x y)
342 Returns a new cons (list node) whose car and cdr are X and Y, respectively."
343 LIST
344 "Args: (&rest args)
345 Returns a list of its arguments"
346 APPEND
347 "Args: (&rest lists)
348 Constructs a new list by concatenating its arguments."
349 REVERSE
350 "Args: (list)
351 Returns a new list containing the same elements as LIST but in
352 reverse order."
353 LAST
354 "Args: (list)
355 Returns the last cons in LIST"
357 "Args: (n list)
358 Returns the N-th element of LIST, where the car of LIST is the zero-th
359 element."
360 NTHCDR
361 "Args: (n list)
362 Returns the result of performing the CDR operation N times on LIST."
363 MEMBER
364 "Args: (item list &key (test #'eql) test-not)
365 Returns the tail of LIST beginning with the first ITEM."
366 ASSOC
367 "Args: (item alist &key (test #'eql) test-not)
368 Returns the first pair in ALIST whose car is equal (in the sense of TEST) to
369 ITEM."
370 SUBST
371 "Args: (new old tree &key (test #'eql) test-not)
372 Substitutes NEW for subtrees of TREE that match OLD."
373 SUBLIS
374 "Args: (alist tree &key (test #'eql) test-not)
375 Substitutes from ALIST for subtrees of TREE nondestructively."
376 REMOVE
377 "Args: (item seq &key (test #'eql) test-not (start 0) (end (length seq)))
378 Returns a copy of SEQ with ITEM removed."
379 LENGTH
380 "Args: (sequence)
381 Returns the length of SEQUENCE."
382 MAPC
383 "Args: (fun list &rest more-lists)
384 Applies FUN to successive cars of LISTs.  Returns the first LIST."
385 MAPCAR
386 "Args: (fun list &rest more-lists)
387 Applies FUN to successive cars of LISTs and returns the results as a list."
388 MAPL
389 "Args: (fun list &rest more-lists)
390 Applies FUN to successive cdrs of LISTs.  Returns the first LIST."
391 MAPLIST
392 "Args: (fun list &rest more-lists)
393 Applies FUN to successive cdrs of LISTs and returns the results as a list."
394                         
395 ;; destructive list functions
396 RPLACA
397 "Args: (x y)
398 Replaces the car of X with Y, and returns the modified X."
399 RPLACD
400 "Args: (x y)
401 Replaces the cdr of X with Y, and returns the modified X."
402 NCONC
403 "Args: (&rest lists)
404 Concatenates LISTs by destructively modifying them."
405 DELETE
406 "Args: (item seq &key (test #'eql) test-not &key (start 0) (end (length seq)))
407 Returns a list formed by removing the specified ITEM destructively from
408 SEQ."
410 ;; predicate functions
411 ATOM
412 "Args: (x)
413 Returns T if X is not a cons; NIL otherwise."
414 SYMBOLP
415 "Args: (x)
416 Returns T if X is a symbol; NIL otherwise."
417 NUMBERP
418 "Args: (x)
419 Returns T if X is any kind of number; NIL otherwise."
420 BOUNDP
421 "Args: (symbol)
422 Returns T if the global variable named by SYMBOL has a value; NIL otherwise."
423 NULL
424 "Args: (x)
425 Returns T if X is NIL; NIL otherwise."
426 LISTP
427 "Args: (x)
428 Returns T if X is either a cons or NIL; NIL otherwise."
429 CONSP
430 "Args: (x)
431 Returns T if X is a cons; NIL otherwise."
433 "Args: (x y)
434 Returns T if X and Y are the same identical object; NIL otherwise."
436 "Args: (x y)
437 Returns T if X and Y are EQ, or if they are numbers of the same type with
438 the same value, or if they are identical characters.  Returns NIL otherwise."
439 EQUAL
440 "Args: (x y)
441 Returns T if X and Y are EQL or if they are of the same type and corresponding
442 components are EQUAL.  Returns NIL otherwise. Arrays must be EQ to be EQUAL."
444 "Args: (x)
445 Returns T if X is NIL; NIL otherwise."
447 ;; special forms
448 COND
449 "Syntax: (cond {(test {form}*)}*)
450 Evaluates each TEST in order until one evaluates to a non-NIL value.  Then
451 evaluates the associated FORMs in order and returns the value of the last
452 FORM.  If no forms follow the TEST, then returns the value of the TEST.
453 Returns NIL, if all TESTs evaluate to NIL."
454 CASE
455 "Syntax: (case keyform {({key | ({key}*)} {form}*)}*)
456 Evaluates KEYFORM and tries to find the KEY that is EQL to the value of
457 KEYFORM.  If one is found, then evaluates FORMs that follow the KEY and
458 returns the value of the last FORM.  If not, simply returns NIL."
460 "Syntax: (and {form}*)
461 Evaluates FORMs in order from left to right.  If any FORM evaluates to NIL,
462 returns immediately with the value NIL.  Else, returns the value of the
463 last FORM."
465 "Syntax: (or {form}*)
466 Evaluates FORMs in order from left to right.  If any FORM evaluates to
467 non-NIL, quits and returns that value.  If the last FORM is reached,
468 returns whatever value it returns."
470 "Syntax: (let ({var | (var [value])}*) {form}*)
471 Initializes VARs, binding them to the values of VALUEs (which defaults to NIL)
472 all at once, then evaluates FORMs as a PROGN."
473 LET*
474 "Syntax: (let* ({var | (var [value])}*) {form}*)
475 Initializes VARs, binding them to the values of VALUEs (which defaults to NIL)
476 from left to right, then evaluates FORMs as a PROGN."
478 "Syntax: (if test then [else])
479 If TEST evaluates to non-NIL, then evaluates THEN and returns the result.
480 If not, evaluates ELSE (which defaults to NIL) and returns the result."
481 PROG
482 "Syntax: (prog ({var | (var [init])}*) {tag | statement}*)
483 Binds VARs in parallel, and then executes STATEMENTs."
484 PROG*
485 "Syntax: (prog* ({var | (var [init])}*) {tag | statement}*)
486 Binds VARs sequentially, and then executes STATEMENTs."
487 PROG1
488 "Syntax: (prog1 first {form}*)
489 Evaluates FIRST and FORMs in order, and returns the value of FIRST."
490 PROG2
491 "Syntax: (prog2 first second {forms}*)
492 Evaluates FIRST, SECOND, and FORMs in order, and returns the value
493 of SECOND."
494 PROGN
495 "Syntax: (progn {form}*)
496 Evaluates FORMs in order, and returns whatever the last FORM returns."
497 PROGV
498 "Syntax: (progv symbols values {form}*)
499 Evaluates FORMs in order, with SYMBOLS dynamically bound to VALUES, and 
500 returns whatever the last FORM returns."
502 "Syntax: (go tag)
503 Jumps to the specified TAG established by a lexically surrounding PROG
504 construct."
505 RETURN
506 "Syntax: (return [result])
507 Returns from the lexically surrounding PROG construct.  The value of RESULT,
508 which defaults to NIL, is returned as the value of the PROG construct."
510 "Syntax: (do ({(var [init [step]])}*) (endtest {result}*) {tag | statement}*)
511 Creates a NIL block, binds each VAR to the value of the corresponding INIT,
512 and then executes STATEMENTs repeatedly until ENDTEST is satisfied.  After
513 each iteration, assigns to each VAR the value of the corresponding STEP.  When
514 ENDTEST is satisfied, evaluates RESULTs as a PROGN and returns the value of
515 the last RESULT (or NIL if no RESULTs are supplied).  Performs variable
516 bindings and assignments all at once, just like LET does."
518 "Syntax: (do* ({(var [init [step]])}*) (endtest {result}*) {tag | statement}*)
519 Just like DO, but performs variable bindings and assignments in serial, just
520 like LET* and SETQ do."
521 DOLIST
522 "Syntax: (dolist (var listform [result]) {tag | statement}*)
523 Executes STATEMENTs, with VAR bound to each member of the list value of
524 LISTFORM.  Then returns the value of RESULT (which defaults to NIL)."
525 DOTIMES
526 "Syntax: (dotimes (var countform [result]) {tag | statement}*)
527 Executes STATEMENTs, with VAR bound to each number between 0 (inclusive) and
528 the value of COUNTFORM (exclusive).  Then returns the value of RESULT
529 (which defaults to NIL)."
530 CATCH
531 "Syntax: (catch tag {form}*)
532 Sets up a catcher with that value TAG.  Then evaluates FORMs as a PROGN, but
533 may possibly abort the evaluation by a THROW form that specifies the value
534 EQ to the catcher tag."
535 THROW
536 "Syntax: (throw tag result)
537 Evaluates TAG and aborts the execution of the most recent CATCH form that sets
538 up a catcher with the same tag value.  The CATCH form returns whatever RESULT
539 returned."
540         
541 ;; debugging and error handling functions
542 ERROR
543 "Args: (datum &rest args)
544 Signals a fatal error. if DATUM is a string, it is used as format
545 string with Args. If it is a symbol, it is used with ARGS so make a
546 condition. If DATUM is a condition, there must be no other arguments."
547 CERROR
548 "Args: (continue-message-string datum &rest args)
549 Signals a correctable error. Returns NIL when continued from the break loop."
550 CLEAN-UP
551 "Args: ()
552 Cleans up after an error and moves to next lower break loop level."
553 TOP-LEVEL
554 "Args: (&optional (print t))
555 Returns to the top level. Print message if PRINT is non-NIL."
556 CONTINUE
557 "Args: ()
558 Continues after a correctable error"
559 ERRSET
560 "Args: (expr [pflag])
561 Traps errors occurring during the evaluation of EXPR. PFLAG controls printing
562 of the error message. Returns the value of the last expression consed with
563 NIL or NIL. "
564 "Args: (number)
565 Prints NUMBER levels of trace back information. Returns NIL."
566 BAKTRACE
567 "Args: (&optional number (print-args *baktrace-print-args*))
568 Prints NUMBER levels of trace back information. Prints call arguments if
569 PRINT-ARGS is nto NIL. Returns NIL."
570 EVALHOOK
571 "Args: (form evalhookfn applyhookfn &optional (env nil))
572 Evaluates FORM with *EVALHOOK* bound to EVALHOOKFN and *APPLYHOOK* bound
573 to APPLYHOOKFN.  Ignores these hooks once, for the top-level evaluation
574 of FORM.(Note: *APPPLYHOOK* is not yet implemented, and is thus ignored.)"
575                         
576 ;; string functions
577 SUBSEQ
578 "Args: (sequence start &optional end)
579 Extracts and returns the subsequence of SEQUENCE starting at START and
580 ending at END, if supplied, or the end of SEQUENCE."
581 STRING
583 Args: (sym)
584 Returns print-name of SYM if SYM is a symbol, or SYM if SYM is a."
585 CHAR
586 "Args: (string index)
587 Returns the INDEX-th character in STRING."
589 ;; I/O functions
590 READ
591 "Args: (&optional (stream *standard-input*) (eof-error-p t) (eof-value nil) (recursivep nil))
592 Reads and returns the next object from STREAM."
593 PRINT
594 "Args: (object &optional (stream *standard-output*))
595 Outputs a newline character, and then prints OBJECT in the most readable
596 representation.  Returns OBJECT."
597 PRIN1
598 "Args: (object &optional (stream *standard-output*))
599 Prints OBJECT in the most readable representation.  Returns OBJECT."
600 PRINC
601 "Args: (object &optional (stream *standard-output*))
602 Prints OBJECT without escape characters.  Returns OBJECT."
603 TERPRI
604 "Args: (&optional (stream *standard-output*))
605 Outputs a newline character."
606 FLATSIZE
607 "Args: (object)
608 Returns length of printed representation of OBJECT using PRIN1"
609 FLATC
610 "Args: (object)
611 Returns length of printed representation of OBJECT using PRINC"
612                         
613 ;; file I/O functions
614 OPEN
615 "Args: (fname &key (direction :input))
616 Opens file named by string or symbol FNAME. DIRECTION is :INPUT or :OUTPUT."
617 CLOSE
618 "Args: (stream)
619 Close file stream STREAM."
620 READ-CHAR
621 "Args: (&optional (stream *standard-input*) (eof-value nil) (eof-error-p t)
622                   (recursive-p nil))
623 Reads a character from STREAM."
624 PEEK-CHAR
625 "Args: (&optional (peek-type nil) (stream *standard-input*)
626                   (eof-value nil) (eof-error-p t) (recursive-p nil))
627 Peeks at the next character in the input stream STREAM."
628 WRITE-CHAR
629 "Args: (char &optional (stream *standard-output*))
630 Outputs CHAR and returns it."
631 READ-LINE
632 "Args: (&optional (stream *standard-input*) (eof-value nil) (eof-error-p t)
633                   (recursive-p nil))
634 Returns line of text read from STREAM as a string without the newline
635 character."
637 ;; system functions
638 LOAD
639 "Args: (filename &key (verbose t) (print nil))
640 Loads the file named by FILENAME into XLISP. Returns T if load succeeds,
641 NIL if file does not exist."
642 DRIBBLE
643 "Args: (&optional file)
644 If string or symbol FILE is supplied creates a transcript file with this name.
645 If FILE is missing closes the transcript file."
646 SYSTEM
647 "Args: (string)
648 Runs the operating system command specified by string. Not available on
649 all implementations."
650 DYN-LOAD
651 "Args: (file &key verbose libflags fortran)
652 Links the object file FILE with standard C libraries and loads into
653 the running XLISP-STAT process. If FORTRAN is not NIL also searches
654 standard FORTRAN libraries. LIBFLAGS can be a string used to specify
655 additional libraries, for example "-lcmlib". Not available on all
656 implementations."
657 CALL-CFUN
658 "Args: (cfun &rest args)
659 CFUN is a string naming a C function. The remaining arguments must be
660 integers, sequences of integers, reals or sequences of reals.  CFUN is
661 called with the remaining arguments and a list of the lists of the
662 values of the arguments after the call is returned. Arguments in the
663 call will be pointers to ints or pointers to doubles.  Not available
664 on all implementations."
665 CALL-FSUB
666 "Args: (fsub &rest args)
667 FSUB is a string naming a FORTRAN subroutine. The remaining arguments
668 must be integers, sequences of integers, reals or sequences of reals.
669 FSUB is called with the remaining arguments and a list of the lists of
670 the values of the arguments after the call is returned. Arguments in
671 the call will be (arrays of) integers or double precision numbers. Not
672 available on all implementations."
673 CALL-LFUN
674 "Args: (lfun &rest args)
675 LFUN is a C function written to conform to internal XLISP argument
676 reading and value returning conventions. Applies LFUN to ARGS and
677 returns the result."
680 "Args: ()
681 Forces (major) garbage collection. Returns nil."
682 EXPAND
683 "Args: (number)
684 Expand memory by adding NUMBER segments. Returns the number of segments."
685 ALLOC
686 "Args: (number)
687 Changes number of nodes to allocate in each segment to NUMBER. Returns
688 old number of nodes to allocate."
689 ROOM
690 "Args: ()
691 Shows memory allocation statistics. Returns nil."
692 SAVE
693 "Args: (file)
694 Saves current memory image in FILE.wks. Does not work right with allocated objects."
695 RESTORE
696 "Args: (file)
697 Restores memory image from FILE.wks. Does not work right with allocated objects."
699 TYPE-OF
700 "Args: (x)
701 Returns the type of X."
702 EXIT
703 "Args: ()
704 Exits from XLISP."
705 PEEK
706 "Args (address)
707 Peek at an ADDRESS in memory."
708 POKE
709 "Args: (address value)
710 Poke VALUE into ADDRESS in memory."
711 ADDRESS-OF
712 "Args (x)
713 Get the address of an XLISP node."
714 X11-OPTIONS
715 "Args: (&key (fast-lines t) (fast-symbols t) (motion-sync t)
716 Sets performance options for X11 window system."
718 ;; new functions and special forms
719 VECTOR
720 "Args: (&rest items)
721 Returns a vector with ITEMS as elements."
722 BLOCK
723 "Syntax: (block name {form}*)
724 The FORMs are evaluated in order, but it is possible to exit the block
725 using (RETURN-FROM name value).  The RETURN-FROM must be lexically contained
726 within the block."
727 RETURN-FROM
728 "Syntax: (return-from name [result])
729 Returns from the lexically surrounding block whose name is NAME.  The value
730 of RESULT, which defaults to NIL, is returned as the value of the block."
731 TAGBODY
732 "Syntax: (tagbody {tag | statement}*)
733 Executes STATEMENTs and returns NIL if it falls off the end."
734 PSETQ
735 "Syntax: (psetq {var form}*)
736 Similar to SETQ, but evaluates all FORMs first, and then assigns each value to
737 the corresponding VAR.  Returns NIL always."
738 FLET
739 "Syntax: (flet ({(name lambda-list {decl | doc}* {form}*)}*) . body)
740 Evaluates BODY as a PROGN, with local function definitions in effect.  BODY is
741 the scope of each local function definition.  Since the scope does not include
742 the function definitions themselves, the local function can reference
743 externally defined functions of the same name.  See the doc of DEFUN for the
744 complete syntax of a lambda-list.  Doc-strings for local functions are simply
745 ignored."
746 LABELS
747 "Syntax: (labels ({(name lambda-list {decl | doc}* {form}*)}*) . body)
748 Evaluates BODY as a PROGN, with the local function definitions in effect.
749 The scope of the locally defined functions include the function definitions
750 themselves, so they can reference externally defined functions of the same
751 name.  See the doc of DEFUN for the complete syntax of a lambda-list.
752 Doc-strings for local functions are simply ignored."
753 MACROLET
754 "Syntax: (macrolet ({(name defmacro-lambda-list {decl | doc}* . body)}*)
755           {form}*)
756 Evaluates FORMs as a PROGN, with the local macro definitions in effect.
757 See the doc of DEFMACRO for the complete syntax of a defmacro-lambda-list.
758 Doc-strings for local macros are simply ignored."
759 UNWIND-PROTECT
760 "Syntax: (unwind-protect protected-form {cleanup-form}*)
761 Evaluates PROTECTED-FORM and returns whatever it returned.  Guarantees that
762 CLEANUP-FORMs be always evaluated before exiting from the UNWIND-PROTECT
763 form."
764 PPRINT
765 "Args: (object &optional (stream *standard-output*))
766 Pretty-prints OBJECT.  Returns OBJECT."
767 STRING<
768 "Args: (string1 string2
769        &key (start1 0) (end1 (length string1))
770             (start2 0) (end2 (length string2)))
771 If STRING1 is lexicographically less than STRING2, then returns the longest
772 common prefix of the strings.  Otherwise, returns NIL."
773 STRING<=
774 "Args: (string1 string2
775        &key (start1 0) (end1 (length string1))
776             (start2 0) (end2 (length string2)))
777 If STRING1 is lexicographically less than or equal to STRING2, then returns
778 the longest common prefix of the two strings.  Otherwise, returns NIL."
779 STRING=
780 "Args: (string1 string2
781        &key (start1 0) (end1 (length string1))
782             (start2 0) (end2 (length string2)))
783 Returns T if the two strings are character-wise CHAR=; NIL otherwise."
784 STRING/=
785 "Args: (string1 string2
786        &key (start1 0) (end1 (length string1))
787             (start2 0) (end2 (length string2)))
788 Returns NIL if STRING1 and STRING2 are character-wise CHAR=.  Otherwise,
789 returns the index to the longest common prefix of the strings."
790 STRING>=
791 "Args: (string1 string2
792        &key (start1 0) (end1 (length string1))
793             (start2 0) (end2 (length string2)))
794 If STRING1 is lexicographically greater than or equal to STRING2, then returns
795 the longest common prefix of the strings.  Otherwise, returns NIL."
796 STRING>
797 "Args: (string1 string2
798        &key (start1 0) (end1 (length string1))
799             (start2 0) (end2 (length string2)))
800 If STRING1 is lexicographically greater than STRING2, then returns the
801 longest common prefix of the strings.  Otherwise, returns NIL."
802 STRING-LESSP
803 "Args: (string1 string2
804        &key (start1 0) (end1 (length string1))
805             (start2 0) (end2 (length string2)))
806 Similar to STRING<, but ignores cases."
807 STRING-NOT-GREATERP
808 "Args: (string1 string2
809        &key (start1 0) (end1 (length string1))
810             (start2 0) (end2 (length string2)))
811 Similar to STRING<=, but ignores cases."
812 STRING-EQUAL
813 "Args: (string1 string2
814        &key (start1 0) (end1 (length string1))
815             (start2 0) (end2 (length string2)))
816 Given two strings (string1 and string2), and optional integers start1,
817 start2, end1 and end2, compares characters in string1 to characters in
818 string2 (using char-equal)."
819 STRING-NOT-EQUAL
820 "Args: (string1 string2
821        &key (start1 0) (end1 (length string1))
822             (start2 0) (end2 (length string2)))
823 Similar to STRING=, but ignores cases."
824 STRING-NOT-LESSP
825 "Args: (string1 string2
826        &key (start1 0) (end1 (length string1))
827             (start2 0) (end2 (length string2)))
828 Similar to STRING>=, but ignores cases."
829 STRING-GREATERP
830 "Args: (string1 string2
831        &key (start1 0) (end1 (length string1))
832             (start2 0) (end2 (length string2)))
833 Similar to STRING>, but ignores cases."
834 INTEGERP
835 "Args: (x)
836 Returns T if X is an integer (fixnum or bignum); NIL otherwise."
837 FLOATP
838 "Args: (x)
839 Returns T if X is a floating-point number; NIL otherwise."
840 STRINGP
841 "Args: (x)
842 Returns T if X is a string; NIL otherwise."
843 ARRAYP
844 "Args: (x)
845 Returns T if X is an array; NIL otherwise."
846 STREAMP
847 "Args: (x)
848 Returns T if X is a stream object; NIL otherwise."
849 OBJECTP
850 "Args: (x)
851 Returns T if X is an object, NIL otherwise."
852 STRING-UPCASE
853 "Args: (string &key (start 0) (end (length string)))
854 Returns a copy of STRING with all lower case characters converted to
855 uppercase."
856 STRING-DOWNCASE
857 "Args: (string &key (start 0) (end (length string)))
858 Returns a copy of STRING with all upper case characters converted to
859 lowercase."
860 NSTRING-UPCASE
861 "Args: (string &key (start 0) (end (length string)))
862 Returns STRING with all lower case characters converted to uppercase."
863 NSTRING-DOWNCASE
864 "Args: (string &key (start 0) (end (length string)))
865 Returns STRING with all upper case characters converted to lowercase."
866 STRING-TRIM
867 "Args: (char-bag string)
868 Returns a copy of STRING with the characters in CHAR-BAG removed from both
869 ends."
870 STRING-LEFT-TRIM
871 "Args: (char-bag string)
872 Returns a copy of STRING with the characters in CHAR-BAG removed from the
873 left end."
874 STRING-RIGHT-TRIM
875 "Args: (char-bag string)
876 Returns a copy of STRING with the characters in CHAR-BAG removed from the
877 right end."
878 WHEN
879 "Syntax: (when test {form}*)
880 If TEST evaluates to non-NIL evaluates FORMs as a PROGN.  If not, returns NIL."
881 UNLESS
882 "Syntax: (unless test {form}*)
883 If TEST evaluates to NIL evaluates FORMs as a PROGN.  If not, returns NIL."
884 LOOP
885 "Syntax: (loop {form}*)
886 Executes FORMs repeatedly until exited by a THROW or RETURN.  The FORMs are
887 surrounded by an implicit NIL block."
888 FBOUNDP
889 "Args: (symbol)
890 Returns T if SYMBOL has a global function definition or if SYMBOL names a
891 special form or a macro; NIL otherwise."
892 PROGV
893 "Syntax: (progv symbols values {form}*)
894 SYMBOLS must evaluate to a list of symbols. VALUES must evaluate to a list
895 of initial values. Evaluates FORMs as a PROGN, with each variable bound
896 dynamically to the corresponding value."
897 CHARACTERP
898 "Args: (x)
899 Returns T if X is a character; NIL otherwise."
900 CHAR-INT
901 "Args: (char)
902 Returns the ASCII code of CHAR. Equivalent to CHAR-CODE in XLISP."
903 INT-CHAR
904 "Args: (integer)
905 Performs the inverse of CHAR-INT. Equivalent to CODE-CHAR in XLISP."
906 READ-BYTE
907 "Args: (stream &optional (eof-error-p t) (eof-value nil))
908 Reads the next byte from STREAM."
909 WRITE-BYTE
910 "Args: (integer &optional stream)
911 Outputs INTEGER to the binary stream STREAM.  Returns INTEGER."
912 MAKE-STRING-INPUT-STREAM
913 "Args: (string &optional (start 0) (end (length string)))
914 Returns an input stream which will supply the characters of String between
915 Start and End in order."
916 MAKE-STRING-OUTPUT-STREAM
917 "Args: ()
918 Returns an output stream which will accumulate all output given it for
919 the benefit of the function GET-OUTPUT-STREAM-STRING."
920 GET-OUTPUT-STREAM-STRING
921 "Args: (stream)
922 Returns a string of all the characters sent to STREAM made by
923 MAKE-STRING-OUTPUT-STREAM since the last call to this function."
924 GET-OUTPUT-STREAM-LIST
925 "Args: (stream)
926 Returns list of elements in stream."
928 "Args: (&rest integers)
929 Returns the greatest common divisor of INTEGERs."
930 GET-LAMBDA-EXPRESSION
931 "Args (closure)
932 Extracts lambda expression from CLOSURE."
933 MACROEXPAND
934 "Args: (form &optional env)
935 If FORM is a macro form expands it repeatedly in environment ENV until
936 it is not a macro."
937 MACROEXPAND-1
938 "Args: (form &optional env)
939 If FORM is a macro form, then expands it once in environment ENV."
940 CHAR<
941 "Args: (char &rest more-chars)
942 Returns T if the codes of CHARs are in strictly increasing order; NIL
943 otherwise."
944 CHAR<=
945 "Args: (char &rest more-chars)
946 Returns T if the codes of CHARs are in strictly non-decreasing order; NIL
947 otherwise."
948 CHAR=
949 "Args: (char &rest more-chars)
950 Returns T if all CHARs are the same character; NIL otherwise."
951 CHAR/=
952 "Args: (char &rest more-chars)
953 Returns T if no two of CHARs are the same character; NIL otherwise."
954 CHAR>=
955 "Args: (char &rest more-chars)
956 Returns T if the codes of CHARs are in strictly non-increasing order; NIL
957 otherwise."
958 CHAR>
959 "Args: (char &rest more-chars)
960 Returns T if the codes of CHARs are in strictly decreasing order; NIL
961 otherwise."
962 CHAR-LESSP
963 "Args: (char &rest more-chars)
964 Returns T if the codes of CHARs are in strictly increasing order; NIL
965 otherwise.  For a lower-case character, the code of its upper-case equivalent
966 is used."
967 CHAR-NOT-GREATERP
968 "Args: (char &rest more-chars)
969 Returns T if the codes of CHARs are in strictly non-decreasing order; NIL
970 otherwise.  For a lower-case character, the code of its upper-case equivalent
971 is used."
972 CHAR-EQUAL
973 "Args: (char &rest more-chars)
974 Returns T if all of its arguments are the same character; NIL otherwise.
975 Upper case character and its lower case equivalent are regarded the same."
976 CHAR-NOT-EQUAL
977 "Args: (char &rest more-chars)
978 Returns T if no two of CHARs are the same character; NIL otherwise.
979 Upper case character and its lower case equivalent are regarded the same."
980 CHAR-NOT-LESSP
981 "Args: (char &rest more-chars)
982 Returns T if the codes of CHARs are in strictly non-increasing order; NIL
983 otherwise.  For a lower-case character, the code of its upper-case equivalent
984 is used."
985 CHAR-GREATERP
986 "Args: (char &rest more-chars)
987 Returns T if the codes of CHARs are in strictly decreasing order; NIL
988 otherwise.  For a lower-case character, the code of its upper-case equivalent
989 is used."
990 UPPER-CASE-P
991 "Args: (char)
992 Returns T if CHAR is an upper-case character; NIL otherwise."
993 LOWER-CASE-P
994 "Args: (char)
995 Returns T if CHAR is a lower-case character; NIL otherwise."
996 BOTH-CASE-P
997 "Args: (char)
998 Returns T if CHAR is an alphabetic character; NIL otherwise."
999 DIGIT-CHAR-P
1000 "Args: (char &optional (radix 10))
1001 If CHAR represents a digit returns the weight as an integer.
1002 Otherwise, returns nil."
1003 ALPHANUMERICP
1004 "Args: (char)
1005 Returns T if CHAR is either numeric or alphabetic; NIL otherwise."
1006 CHAR-UPCASE
1007 "Args: (char)
1008 Returns the upper-case equivalent of CHAR, if any, or CHAR."
1009 CHAR-DOWNCASE
1010 "Args: (char)
1011 Returns the lower-case equivalent of CHAR, if any, or CHAR."
1012 DIGIT-CHAR
1013 "Args: (digit &optional (radix 10))
1014 Returns a character object that represents the DIGIT, or NIL."
1015 CHAR-CODE
1016 "Args: (char)
1017 Returns ASCII code of CHAR."
1018 CODE-CHAR
1019 "Args: (code)
1020 Returns character object with the specified ASCII code, or NIL."
1021 ENDP
1022 "Args: (x)
1023 Returns T if X is NIL.  Returns NIL if X is a cons.  Otherwise, signals an
1024 error."
1025 REMOVE-IF
1026 "Args: (test seq &key (start 0) (end (length seq)))
1027 Returns a copy of SEQ with elements satisfying TEST removed."
1028 REMOVE-IF-NOT
1029 "Args: (test seq &key (start 0) (end (length seq)))
1030 Returns a copy of SEQ with elements not satisfying TEST removed."
1031 DELETE-IF
1032 "Args: (test seq &key (start 0) (end (length seq)))
1033 Returns result of destructively removing the elements satisfying TEST
1034 from SEQ."
1035 DELETE-IF-NOT
1036 "Args: (test list &key (start 0) (end (length seq)))
1037 Returns result of destructively removing the elements not satisfying TEST from SEQ."
1038 TRACE
1039 "Syntax: (trace {function-name}*)
1040 Traces the specified functions.  With no FUNCTION-NAMEs, returns a list of
1041 functions currently being traced."
1042 UNTRACE
1043 "Syntax: (untrace {function-name}*)
1044 Removes tracing from the specified functions.  With no FUNCTION-NAMEs,
1045 untraces all functions."
1046 SORT
1047 "Args: (list predicate)
1048 Destructively sorts LIST.  PREDICATE should return non-NIL if its first
1049 argument is to precede its second argument."
1051 ;; *OBJECT*
1052 (*OBJECT* OBJECT PROTO) "The root object."
1053 (*OBJECT*  OBJECT :GET-METHOD)
1054 "Method args: (selector)
1055 Returns method for SELECTOR symbol from object's precedence list."
1056 (*OBJECT*  OBJECT :HAS-SLOT)
1057 "Method args: (slot &optional own)
1058 Returns T if slot SLOT exists, NIL if not. If OWN is not NIL
1059 only checks the object; otherwise check the entire precedence list."
1060 (*OBJECT*  OBJECT :HAS-METHOD)
1061 "Method args: (selector &optional own)
1062 Returns T if method for SELECTOR exists, NIL if not. If OWN is not NIL
1063 only checks the object; otherwise check the entire precedence list."
1064 (*OBJECT*  OBJECT :ADD-SLOT)
1065 "Method args: (slot &optional value)
1066 Installs slot SLOT in object, if it does not already exist, and
1067 sets its value to VALUE."
1068 (*OBJECT*  OBJECT :ADD-METHOD)
1069 "Method args: (selector method)
1070 Installs METHOD for SELECTOR in object."
1071 (*OBJECT*  OBJECT :DELETE-SLOT)
1072 "Method args: (slot)
1073 Deletes slot SLOT from object if it exists."
1074 (*OBJECT*  OBJECT :DELETE-METHOD)
1075 "Method args: (selector)
1076 Deletes method for SELECTOR in object if it exists."
1077 (*OBJECT*  OBJECT :SHOW)
1078 "Method Args: ()
1079 Prints object's internal data."
1080 (*OBJECT*  OBJECT :ISNEW)
1081 "Method args: (&rest args)
1082 Checks ARGS for keyword arguments matching slots and uses them to
1083 initialize slots."
1084 (*OBJECT*  OBJECT :PARENTS)
1085 "Method args: ()
1086 Returns copy of parents list."
1087 (*OBJECT*  OBJECT :PRECEDENCE-LIST)
1088 "Method args: ()
1089 Returns copy of the precedence list."
1090 (*OBJECT*  OBJECT :OWN-SLOTS)
1091 "Method args: ()
1092 Returns list of names of slots owned by object."
1093 (*OBJECT*  OBJECT :OWN-METHODS)
1094 "Method args ()
1095 Returns copy of selectors for methods owned by object."
1096 (*OBJECT*  OBJECT :INTERNAL-DOC)
1097 "Method args (topic &optional value)
1098 Retrieves or installs documentation for topic."
1099 (*OBJECT* OBJECT :REPARENT)
1100 "Method args: (&rest parents)
1101 Changes precedence list to correspond to PARENTS. Does not change descendants."
1103 ;; compound data objects
1104 (COMPOUND-DATA-PROTO OBJECT :SELECT-DATA)
1105 "Sets or retrieves subset of data. Arguments depend on the object."
1106 (COMPOUND-DATA-PROTO OBJECT :MAKE-DATA)
1107 "Methos args: (data)
1108 Make object like self with new data."
1109 (COMPOUND-DATA-PROTO OBJECT :DATA-SEQ)
1110 "Methos args: ()
1111 Return sequence of object's data."
1112 (COMPOUND-DATA-PROTO OBJECT :DATA-LENGTH)
1113 "Methos args: ()
1114 Return length of object's data."
1116 ;; WINDOW-PROTO
1117 (WINDOW-PROTO  OBJECT PROTO)
1118 "Instance variables: (title location size go-away)
1119 Basic window prototype. Instance variables used at allocation; can set with
1120 keywords to :ISNEW."
1121 (WINDOW-PROTO  OBJECT :SHOW-WINDOW)
1122 "Method args: ()
1123 Makes window visible and moves it to the front. Returns NIL."
1124 (WINDOW-PROTO  OBJECT :HIDE-WINDOW)
1125 "Method args: ()
1126 Hides the window without deallocating it. Returns NIL."
1127 (WINDOW-PROTO  OBJECT :CLOSE)
1128 "Method args: ()
1129 Closes the window without deallocating it. Returns NIL."
1130 (WINDOW-PROTO  OBJECT :TITLE)
1131 "Method args: (&optional title)
1132 Sets window title to TITLE if supplied. Returns current title."
1133 (WINDOW-PROTO  OBJECT :LOCATION)
1134 "Method args: (&optional left top)
1135 Moves window content to (LEFT TOP) if supplied. Returns list of 
1136 current left, top. Adjusts for the menu bar."
1137 (WINDOW-PROTO  OBJECT :SIZE)
1138 "Method args: (&optional width height)
1139 Sets window content width and size to WIDTH and SIZE if supplied.
1140 Returns list of current WIDTH HEIGHT. Adjusts for the menu bar."
1141 (WINDOW-PROTO  OBJECT :FRAME-LOCATION)
1142 "Method args: (&optional left top)
1143 Moves window frame to (LEFT TOP) if supplied. Returns list of 
1144 current left, top. Adjusts for the menu bar."
1145 (WINDOW-PROTO  OBJECT :FRAME-SIZE)
1146 "Method args: (&optional width height)
1147 Sets window frame width and size to WIDTH and SIZE if supplied. 
1148 Returns list of current WIDTH and HEIGHT. Adjusts for the menu bar."
1149 (WINDOW-PROTO  OBJECT :UNDO)
1150 "Method args: ()
1151 Does nothing."
1152 (WINDOW-PROTO  OBJECT :CUT-TO-CLIP)
1153 "Method args: ()
1154 Does nothing."
1155 (WINDOW-PROTO  OBJECT :COPY-TO-CLIP)
1156 "Method args: ()
1157 Does nothing."
1158 (WINDOW-PROTO  OBJECT :PASTE-FROM-CLIP)
1159 "Method args: ()
1160 Does nothing."
1161 (WINDOW-PROTO  OBJECT :CLEAR)
1162 "Method args: ()
1163 Does nothing."
1164 (WINDOW-PROTO  OBJECT :PASTE-STREAM)
1165 "Method args: ()
1166 Does nothing."
1167 (WINDOW-PROTO  OBJECT :PASTE-STRING)
1168 "Method args: ()
1169 Does nothing."
1170 (WINDOW-PROTO  OBJECT :SELECTION-STREAM)
1171 "Method args: ()
1172 Does nothing."
1173 (WINDOW-PROTO  OBJECT :ACTIVATE)
1174 "Method args: ()
1175 Does nothing."
1176 (WINDOW-PROTO  OBJECT :UPDATE)
1177 "Method args: ()
1178 Does nothing."
1179 (WINDOW-PROTO  OBJECT :FIND)
1180 "Method args: ()
1181 Does nothing."
1183 ;; EDIT-WINDOW-PROTO
1184 (EDIT-WINDOW-PROTO  OBJECT PROTO)
1185 "Instance variables: (input-enabled output-stream bind-to-file)
1186 Edit window prototype. Instance variables used at allocation; can set with
1187 :SINEW keywords. Inherits from WINDOW-PROTO"
1188 (EDIT-WINDOW-PROTO  OBJECT :ISNEW)
1189 "Method args: (&key title location size go-away input-enabled
1190                     output-stream bind-to-file)
1191 Initializes instance variables and sends itself the :ALLOCATE message.
1192 Instance variables are used on allocation. GO-AWAY says whether window has a
1193 close box, OUTPUT-STREAM can be used to write to the window, and BIND-TO-FILE
1194 will cause a get-file-dialog to appear when the window is allocated."
1195 (EDIT-WINDOW-PROTO  OBJECT :ALLOCATE)
1196 "Method args: ()
1197 Allocates and opens the window. Obtains file with get-file-dialog if slot
1198 BIND-TO-FILE is true."
1199 (EDIT-WINDOW-PROTO  OBJECT :CUT-TO-CLIP)
1200 "Method args: ()
1201 Cut selection to clip board."
1202 (EDIT-WINDOW-PROTO  OBJECT :COPY-TO-CLIP)
1203 "Method args: ()
1204 Copy selection to clip board."
1205 (EDIT-WINDOW-PROTO  OBJECT :PASTE-FROM-CLIP)
1206 "Method args: ()
1207 Paste selection to clip board."
1208 (EDIT-WINDOW-PROTO  OBJECT :REVERT)
1209 "Method args: ()
1210 Reverts to file on disk; opens dialog to check first."
1211 (EDIT-WINDOW-PROTO  OBJECT :SAVE)
1212 "Method args: ()
1213 Save file. Use save-file dialog to get a name if not bound to file."
1214 (EDIT-WINDOW-PROTO  OBJECT :SAVE-AS)
1215 "Method args: ()
1216 Save file under name obtained by save-file-dialog and bind window to the file."
1217 (EDIT-WINDOW-PROTO  OBJECT :SAVE-COPY)
1218 "Method args: ()
1219 Save copy of file under name obtained by save-file-dialog; don't change file binding."
1220 (EDIT-WINDOW-PROTO  OBJECT :PASTE-STREAM)
1221 "Method args: (string)
1222 Inserts the characters in STRING at the current insertion point, replacing any
1223 current selection."
1224 (EDIT-WINDOW-PROTO  OBJECT :PASTE-STRING)
1225 "Method args: (stream)
1226 Inserts the characters in STREAM at the current insertion point, replacing any
1227 current selection."
1228 (EDIT-WINDOW-PROTO  OBJECT :FLUSH-WINDOW)
1229 "Method args: (&optional count)
1230 Flushes the first COUNT characters from the window. Flushes all characters if
1231 COUNT is not supplied."
1232 (EDIT-WINDOW-PROTO  OBJECT :SELECTION-STREAM)
1233 "Method args: ()
1234 Returns a stream containing the characters of the current selection."
1235 (EDIT-WINDOW-PROTO  OBJECT :CLOSE)
1236 "Method args: ()
1237 Closes and deallocates the window. Asks about saving the file if necessary."
1238 (EDIT-WINDOW-PROTO  OBJECT :REMOVE)
1239 "Method args: ()
1240 Closes and deallocates the window. Asks about saving the file if necessary."
1241 (EDIT-WINDOW-PROTO  OBJECT :DISPOSE)
1242 "Method args: ()
1243 Closes and deallocates the window. Asks about saving the file if necessary."
1244 (EDIT-WINDOW-PROTO  OBJECT :ACTIVATE)
1245 "Method args: ()
1246 Does nothing."
1247 (EDIT-WINDOW-PROTO  OBJECT :UPDATE)
1248 "Method args: ()
1249 Does nothing."
1250 (EDIT-WINDOW-PROTO  OBJECT :FIND-STRING)
1251 "Method args: (string)
1252 Finds and selects STRING if it is in the file. Returns T if found, NIL if not.
1253 Search is case insensitive."
1255 ;; LISTENER-PROTO
1256 (LISTENER-PROTO  OBJECT :ISNEW)
1257 "Method args: ()
1258 Initializes new listener object."
1259 (LISTENER-PROTO  OBJECT :ALLOCATE)
1260 "Method args: ()
1261 Connects object to internal listener window."
1263 ;; MENU-PROTO
1264 (MENU-PROTO  OBJECT PROTO)
1265 "Instance variables: (title items enabled id)
1266 Basic menu prototype. Instance variables used internally."
1267 (MENU-PROTO  OBJECT :ISNEW)
1268 "Method args: (title)
1269 Sets menu title to TITLE and sends it the itself :ALLOCATE message."
1270 (MENU-PROTO  OBJECT :ALLOCATE)
1271 "Method args: ()
1272 Allocates an internal menu for the object."
1273 (MENU-PROTO  OBJECT :DISPOSE)
1274 "Method args: ()
1275 Disposes of the internal menu."
1276 (MENU-PROTO  OBJECT :INSTALL)
1277 "Method args ()
1278 Installs the menu in the menu bar (Macintosh only)."
1279 (MENU-PROTO  OBJECT :REMOVE)
1280 "Method args: ()
1281 Removes the menu from the menu bar (Macintosh only)."
1282 (MENU-PROTO  OBJECT :ENABLED)
1283 "Method args: (&optional enabled)
1284 If ENABLED is supplied enables or disables the menu if ENABLED is true or
1285 NIL. Returns T if menu is enabled, NIL otherwise."
1286 (MENU-PROTO  OBJECT :UPDATE)
1287 "Method args: ()
1288 Sends each menu item the :UPTADE message."
1289 (MENU-PROTO  OBJECT :ALLOCATED-P)
1290 "Method args: ()
1291 Returns true if menu is allocated, NIL otherwise."
1292 (MENU-PROTO  OBJECT :TITLE) 
1293 "Method args: (&optional TITLE)
1294 If TITLE is supplied sets menu title to TITLE. Returns menu title."
1295 (MENU-PROTO  OBJECT :ITEMS)
1296 "Method args: ()
1297 Returns list of menu items."
1298 (MENU-PROTO  OBJECT :INSTALLED-P)
1299 "Method args: ()
1300 Returns true if menu is in the menu bar, NIL otherwise."
1301 (MENU-PROTO  OBJECT :APPEND-ITEMS)
1302 "Method args: (&rest items)
1303 adds ITEMS to the menu and Returns NIL."
1304 (MENU-PROTO  OBJECT :DELETE-ITEMS)
1305 "Method args: (&rest items)
1306 Removes ITEMS from menu and returns NIL. Signals an error if an
1307 item is not in the menu"
1308 (MENU-PROTO  OBJECT :SELECT)
1309 "Method args: (index)
1310 Sends item (elt items (- INDEX 1)) the :DO-ACTION message."
1311 (MENU-PROTO  OBJECT :POPUP)
1312 "Method args: (x y)
1313 Waits for a mouse click if mouse is not already down at call time, then
1314 pops up menu at screen coordinates (X Y)."
1316 ;; APPLE-MENU-PROTO
1317 (APPLE-MENU-PROTO  OBJECT :ISNEW)
1318 "Method args: (title)
1319 Sets menu title to TITLE and sends it the itself :ALLOCATE message."
1320 (APPLE-MENU-PROTO  OBJECT :SELECT)
1321 "Method args: (index)
1322 Sends item (elt items (- INDEX 1)) the :DO-ACTION message or opens the
1323 desk accessory."
1325 ;; MENU-ITEM-PROTO
1326 (MENU-ITEM-PROTO  OBJECT PROTO)
1327 "Instance variables: (title key mark style action enabled menu)
1328 Menu item. Instance variables used on installation; can set using
1329 keywords to :ISNEW."
1330 (MENU-ITEM-PROTO  OBJECT :ISNEW)
1331 "Method args: (title &key key mark style action (enabled t))
1332 Initializes a new menu item object."
1333 (MENU-ITEM-PROTO  OBJECT :TITLE)
1334 "Method args: (&optional title)
1335 Sets item title to TITLE if supplied and returns title."
1336 (MENU-ITEM-PROTO  OBJECT :KEY)
1337 "Method args: (&optional char)
1338 Sets item keyboard equivalent to CHAR, if supplied, and returns current key
1339 (Macintosh only)."
1340 (MENU-ITEM-PROTO  OBJECT :MARK)
1341 "Method args: (&optional MARK)
1342 Sets item mark to MARK if MARK is a character, to a check if MARK is T
1343 and to no mark if MARK is NIL. Returns current mark (Macintosh only)."
1344 (MENU-ITEM-PROTO  OBJECT :STYLE)
1345 "Method args: (&optional style)
1346 Sets and returns item style. STYLE can be a symbol or list of symbols from
1347 BOLD, ITALIC, UNDERLINE, SHADOW, CONDENSE, EXTEND (Macintosh only)."
1348 (MENU-ITEM-PROTO  OBJECT :ACTION)
1349 "Method args: (&optional FCN)
1350 Sets ACTION slot to FCN if supplied; returns current ACTION value."
1351 (MENU-ITEM-PROTO  OBJECT :ENABLED)
1352 "Method args: (&optional enable)
1353 Enables or disables item if ENABLED is supplied; returns T if enabled,
1354 NIL if not."
1355 (MENU-ITEM-PROTO  OBJECT :INSTALLED-P)
1356 "Method args: ()
1357 Returns T if item is installed in a menu, NIL if not."
1358 (MENU-ITEM-PROTO  OBJECT :UPDATE)
1359 "Method args: ()
1360 Does nothing."
1361 (MENU-ITEM-PROTO  OBJECT :DO-ACTION)
1362 "Method args: ()
1363 Funcalls the value of the ACTION slot."
1365 ;; DIALOG-PROTO
1366 (DIALOG-PROTO  OBJECT PROTO)
1367 "Dialog window prototype."
1368 (DIALOG-PROTO  OBJECT :ISNEW) 
1369 "Method args: (items &key title location size go-away type default-button)
1370 Initializes and allocates a dialog. ITEMS is a list of dialog items; type
1371 should be MODAL or MODELESS. Default is MODAL. Type only affect window
1372 appearance, not the dialog's behavior."
1373 (DIALOG-PROTO  OBJECT :ALLOCATE)
1374 "Method args: ()
1375 Allocates and opens a dialog window."
1376 (DIALOG-PROTO  OBJECT :REMOVE)
1377 "Method args: ()
1378 Closes and deallocates the dialog window."
1379 (DIALOG-PROTO  OBJECT :DISPOSE)
1380 "Method args: ()
1381 Closes and deallocates the dialog window."
1382 (DIALOG-PROTO  OBJECT :CLOSE)
1383 "Method args: ()
1384 Closes and deallocates the dialog window."
1385 (DIALOG-PROTO  OBJECT :ALLOCATED-P)
1386 "Method args: ()
1387 Returns T if dialog is allocated, NIL if not."
1388 (DIALOG-PROTO  OBJECT :DEFAULT-BUTTON)
1389 "Message args: (button)
1390 Makes BUTTON the default button."
1391 (DIALOG-PROTO  OBJECT :MODAL-DIALOG)
1392 "Method args: ()
1393 Puts dialog into modal mode, waits for a dialog event, and returns the item
1394 in which the event occurred."
1395 (DIALOG-PROTO :ITEMS)
1396 "Method args: ()
1397 Returns list of dialog items."
1399 ;; DIALOG-ITEM-PROTO
1400 (DIALOG-ITEM-PROTO  OBJECT PROTO)
1401 "Dialog item prototype."
1402 (DIALOG-ITEM-PROTO  OBJECT :DO-ACTION)
1403 "Method args: ()
1404 Funcalls value of ACTION slot if it is not NIL."
1405 (DIALOG-ITEM-PROTO  OBJECT :ACTION)
1406 "Method args (&optional fcn)
1407 Sets or returns value of ACTION slot."
1409 ;; BUTTON-ITEM-PROTO
1410 (BUTTON-ITEM-PROTO  OBJECT :ISNEW)
1411 "Method args: (text &key location size action)
1412 Initializes a button item."
1414 ;; TOGGLE-ITEM-PROTO
1415 (TOGGLE-ITEM-PROTO  OBJECT PROTO)
1416 "Toggle item prototype."
1417 (TOGGLE-ITEM-PROTO  OBJECT :ISNEW)
1418 "Method args: (text &key location size action value)
1419 Initializes a toggle (check box) item."
1420 (TOGGLE-ITEM-PROTO  OBJECT :VALUE)
1421 "Method args: (value)
1422 Sets or gets toggle item value. Value is T or NIL."
1424 ;; TEXT-ITEM-PROTO
1425 (TEXT-ITEM-PROTO  OBJECT PROTO)
1426 "Text item prototype."
1427 (TEXT-ITEM-PROTO  OBJECT :ISNEW)
1428 "Method args: (text &key location size action (editable nil))
1429 Initializes a text item (editable or static)."
1430 (TEXT-ITEM-PROTO  OBJECT :TEXT)
1431 "Method args: (string)
1432 Sets or gets text item's text."
1433   
1434 ;; CHOICE-ITEM-PROTO
1435 (CHOICE-ITEM-PROTO  OBJECT PROTO)
1436 "Choice (radio button cluster) item prototype."
1437 (CHOICE-ITEM-PROTO  OBJECT :ISNEW)
1438 "Method args: (strings &key location size action value)
1439 Initializes a choice (radio button cluster) item. STRINGS is a list of strings."
1440 (CHOICE-ITEM-PROTO  OBJECT :VALUE)
1441 "Method args: (value)
1442 Sets or gets choice item value. Value is the zero-based index of the selected item."
1444 ;; SCROLL-ITEM-PROTO
1445 (SCROLL-ITEM-PROTO  OBJECT PROTO)
1446 "Scroll bar item."
1447 (SCROLL-ITEM-PROTO  OBJECT :ISNEW)
1448 "Method args: (&key location size action (min-value 0) (max-value 100) (page-increment 5) 
1449 value)
1450 Initializes a scroll bar item. Orientation is determined by SIZE; default is horizontal."
1451 (SCROLL-ITEM-PROTO  OBJECT :VALUE)
1452 "Method args: (value)
1453 Sets or gets scroll item value. Value is truncated to [min-value, max-value]."
1454 (SCROLL-ITEM-PROTO  OBJECT :MAX-VALUE)
1455 "Method args: (value)
1456 Sets or gets scroll item minimum value."
1457 (SCROLL-ITEM-PROTO  OBJECT :MIN-VALUE)
1458 "Method args: (value)
1459 Sets or gets scroll item maximum value."
1460 (SCROLL-ITEM-PROTO  OBJECT :SCROLL-ACTION)
1461 "Method args: ()
1462 Funcalls ACTION slot value if it is not NIL."
1464 ;; LIST-ITEM-PROTO
1465 (LIST-ITEM-PROTO  OBJECT PROTO)
1466 "List item."
1467 (LIST-ITEM-PROTO  OBJECT :ISNEW)
1468 "Method args: (strings &key location size action (columns 1))
1469 Initializes a list item. STRINGS should be a sequence of two dimensional array
1470 of strings. COLUMNS is the number of columns visible in the display."
1471 (LIST-ITEM-PROTO  OBJECT :DO-ACTION)
1472 "Method args: (&optional (double nil))
1473 Funcalls value of ACTION slot, if it is not NIL, with argument DOUBLE."
1474 (LIST-ITEM-PROTO  OBJECT :SET-TEXT)
1475 "Method args: (index string)
1476 Sets text at INDEX to STRING. INDEX should be a number or a list of two numbers,
1477 depending on whether the list cas constructed with a sequence or an array."
1478 (LIST-ITEM-PROTO  OBJECT :SELECTION)
1479 "Method args: (&optional index)
1480 Sets or returns index of selected cell. INDEX should be a number for a sequence
1481 and a list of two numbers for an array, or NIL to turn off selection."
1483 ;; GRAPH-WINDOW-PROTO
1484 (GRAPH-WINDOW-PROTO  OBJECT PROTO)
1485 "Basic graphics window prototype."
1486 (GRAPH-WINDOW-PROTO  OBJECT :ISNEW)
1487 " Method args: (&key (title \"Graph Window\") location size
1488                       (go-away t) menu (black-on-white t)
1489                       has-h-scroll has-v-scroll menu-title)
1490 Initializes and send :allocate message to basic plot window."
1491 (GRAPH-WINDOW-PROTO  OBJECT :ALLOCATE)
1492 "Method args: ()
1493 Allocates new graph window based on content of slots."
1495 (GRAPH-WINDOW-PROTO  OBJECT :IDLE-ON)
1497 Method args: (&optional on)
1498 Sets or returns idling state. On means :do-idle method is sent each pass through
1499 the event loop."
1501 (GRAPH-WINDOW-PROTO  OBJECT :MENU)
1502 "Method args: (&optional menu)
1503 Sets or retrieves window's menu."
1505 (GRAPH-WINDOW-PROTO  OBJECT :UPDATE)
1506 "Method args: (resized)
1507 Sends self the :RESIZED method if RESIZED is true, redraws the frame and
1508 controls, and sends self the :REDRAW message."
1509 (GRAPH-WINDOW-PROTO  OBJECT :ACTIVATE)
1510 "Method args: (active)
1511 Installs menu if ACTIVE is true; removes it otherwise. (Macintosh only.)"
1512 (GRAPH-WINDOW-PROTO  OBJECT :REMOVE)
1513 "Method args: ()
1514 Closes and deallocates the graph window."
1515 (GRAPH-WINDOW-PROTO  OBJECT :DISPOSE)
1516 "Method args: ()
1517 Closes and deallocates the graph window."
1518 (GRAPH-WINDOW-PROTO  OBJECT :CLOSE)
1519 "Method args: ()
1520 Closes and deallocates the graph window."
1521 (GRAPH-WINDOW-PROTO  OBJECT :WHILE-BUTTON-DOWN)
1522 "Method args: (fcn &optional (motion-only t))
1523 Calls fcn repeatedly while mouse button is down. FCN should take two arguments,
1524 the current x and y coordinates of the mouse. Returns NIL. Should be called
1525 when button is already down."
1526 (GRAPH-WINDOW-PROTO  OBJECT :TITLE)
1527 "Method args: (&optional string)
1528 Sets or retrieves window title."
1529 (GRAPH-WINDOW-PROTO  OBJECT :DO-IDLE)
1530 "Method args: ()
1531 Message received from system in idle state when idling is on."
1532 (GRAPH-WINDOW-PROTO  OBJECT :REDRAW)
1533 "Method args: ()
1534 Message received from system when window needs redrawing."
1535 (GRAPH-WINDOW-PROTO  OBJECT :RESIZE)
1536 "Method args: ()
1537 Message received from system when window is resized."
1539 (GRAPH-WINDOW-PROTO  OBJECT :CANVAS-WIDTH)
1540 "Method args: ()
1541 Returns current canvas width."
1542 (GRAPH-WINDOW-PROTO  OBJECT :CANVAS-HEIGHT)
1543 "Method args: ()
1544 Returns current canvas height."
1545 (GRAPH-WINDOW-PROTO  OBJECT :LINE-TYPE)
1546 "Method args: (&optional type)
1547 Sets or returns current line type. Choices are SOLID and DASHED."
1548 (GRAPH-WINDOW-PROTO  OBJECT :DRAW-MODE)
1549 "Method args: (&optional mode)
1550 Sets or returns current drawing mode. Choices are NORMAL and XOR."
1551 (GRAPH-WINDOW-PROTO  OBJECT :DRAW-COLOR)
1552 "Method args: (&optional color)
1553 Sets or retrieves current drawing color. Choices are in the list *COLORS*."
1554 (GRAPH-WINDOW-PROTO  OBJECT :BACK-COLOR)
1555 "Method args: (&optional color)
1556 Sets or retrieves current background color. Choices are in the list *COLORS*."
1557 (GRAPH-WINDOW-PROTO  OBJECT :USE-COLOR)
1558 "Method args: (&optional use)
1559 Sets or retrieves current color use state. Has no effect on B/W systems."
1560 (GRAPH-WINDOW-PROTO  OBJECT :REVERSE-COLORS)
1561 "Method args: ()
1562 Reverses drawing and background colors and sends self the :REDRAW message."
1563 (GRAPH-WINDOW-PROTO  OBJECT :VIEW-RECT)
1564 "Method args: ()
1565 Returns the current view rectangle as list of the form
1566 (LEFT TOP WIDTH HEIGHT)"
1567 (GRAPH-WINDOW-PROTO  OBJECT :LINE-WIDTH)
1568 "Method args: (&optional width)
1569 Sets or retrieves current line width."
1570 (GRAPH-WINDOW-PROTO  OBJECT :CLIP-RECT)
1571 "Method args: (&optional left top width height)
1572 Sets or retrieves current clip rectangle. If NIL is supplied clipping is turned off.
1573 A result of NIL means clipping is disabled."
1574 (GRAPH-WINDOW-PROTO  OBJECT :CURSOR)
1575 "Method args: (&optional cursor)
1576 Sets or retrieves the current window cursor. Choices are in the list *cursors*."
1578 (GRAPH-WINDOW-PROTO  OBJECT :HAS-H-SCROLL)
1579 "Method args: (&optional x)
1580 Determines or sets whether window has a horizontal scrollbar. If X is 
1581 supplied and is NIL the scroll bar is removed. If X is a number a scroll
1582 bar is added and the canvas width is set to the number (between 0 and 3200).
1583 If X is T a scroll bar is added and the canvas width is set to the maximum
1584 of the screen's width and height."
1585 (GRAPH-WINDOW-PROTO  OBJECT :HAS-V-SCROLL)
1586 "Method args: (&optional x)
1587 Determines or sets whether window has a vertical scrollbar. If X is 
1588 supplied and is NIL the scroll bar is removed. If X is a number a scroll
1589 bar is added and the canvas height is set to the number (between 0 and 3200).
1590 If X is T a scroll bar is added and the canvas height is set to the maximum
1591 of the screen's width and height."
1592 (GRAPH-WINDOW-PROTO  OBJECT :SCROLL)
1593 "Method args: (x y)
1594 Sets or returns current position of left top corner of view rectangle.
1595 X or Y are ignored if no horizontal or vertical scroll bar is present."
1596 (GRAPH-WINDOW-PROTO  OBJECT :H-SCROLL-INCS)
1597 "Method args: (inc page-inc)
1598 Sets or retrieves the increments scrolled by the buttons and page areas
1599 of the horizontal scroll bar."
1600 (GRAPH-WINDOW-PROTO  OBJECT :V-SCROLL-INCS)
1601 "Method args: (inc page-inc)
1602 Sets or retrieves the increments scrolled by the buttons and page areas
1603 of the vertical scroll bar."
1605 (GRAPH-WINDOW-PROTO  OBJECT :DRAW-LINE)
1606 "Method args: (x1 y1 x2 y2)
1607 Draws line from (x1 y1) to (x2 y2)."
1608 (GRAPH-WINDOW-PROTO  OBJECT :ERASE-RECT)
1609 "Method args: (left top width height)
1610 Frames the rectangle (LEFT TOP WIDTH HEIGHT)."
1611 (GRAPH-WINDOW-PROTO  OBJECT :FRAME-RECT)
1612 "Method args: (left top width height)
1613 Fills the rectangle (LEFT TOP WIDTH HEIGHT) with the background color."
1614 (GRAPH-WINDOW-PROTO  OBJECT :PAINT-RECT)
1615 "Method args: (left top width height)
1616 Fills the rectangle (LEFT TOP WIDTH HEIGHT) with the drawing color."
1617 (GRAPH-WINDOW-PROTO  OBJECT :ERASE-OVAL)
1618 "Method args: (left top width height)
1619 Fills the oval in (LEFT TOP WIDTH HEIGHT) with the background color."
1620 (GRAPH-WINDOW-PROTO  OBJECT :FRAME-OVAL)
1621 "Method args: (left top width height)
1622 Frames the oval in (LEFT TOP WIDTH HEIGHT)."
1623 (GRAPH-WINDOW-PROTO  OBJECT :PAINT-OVAL)
1624 "Method args: (left top width height)
1625 Fills the oval in (LEFT TOP WIDTH HEIGHT) with the drawing color."
1626 (GRAPH-WINDOW-PROTO  OBJECT :FRAME-POLY)
1627 "Method args: (poly &optional (from-origin t))
1628 Outlines polygon. POLY is a list of lists of two numbers. If FROM-ORIGIN is 
1629 true coordinates are relative to the origin; otherwise they are relative to
1630 the previous point."
1631 (GRAPH-WINDOW-PROTO  OBJECT :PAINT-POLY)
1632 "Method args: (poly &optional (from-origin t))
1633 Paints content of polygon in current draw color. POLY is a list of lists of two
1634 numbers. If FROM-ORIGIN is true coordinates are relative to the origin; 
1635 otherwise they are relative to the previous point."
1636 (GRAPH-WINDOW-PROTO  OBJECT :ERASE-POLY)
1637 "Method args: (poly &optional (from-origin t))
1638 Erases content of polygon. POLY is a list of lists of two numbers. If
1639 FROM-ORIGIN is true coordinates are relative to the origin; otherwise
1640 they are relative to the previous point."
1641 (GRAPH-WINDOW-PROTO  OBJECT :ERASE-ARC)
1642 "Method args: (left top width height start delta)
1643 Fills the arc in (LEFT TOP WIDTH HEIGHT) from START by DELTA with the
1644 background color. Angles are in degrees."
1645 (GRAPH-WINDOW-PROTO  OBJECT :FRAME-ARC)
1646 "Method args: (left top width height start delta)
1647 Frames the arc in (LEFT TOP WIDTH HEIGHT) from START by DELTA. Angles are in
1648 degrees."
1649 (GRAPH-WINDOW-PROTO  OBJECT :PAINT-ARC)
1650 "Method args: (left top width height start delta)
1651 Fills the oval in (LEFT TOP WIDTH HEIGHT) from START by DELTA with the
1652 drawing color. Angles are in degrees."
1654 (GRAPH-WINDOW-PROTO  OBJECT :TEXT-ASCENT)
1655 "Method args: ()
1656 Returns ascent in pixels for the window's text font."
1657 (GRAPH-WINDOW-PROTO  OBJECT :TEXT-DESCENT)
1658 "Method args: ()
1659 Returns descent in pixels for the window's text font."
1660 (GRAPH-WINDOW-PROTO  OBJECT :TEXT-WIDTH)
1661 "Method args: (string)
1662 Returns widh in pixels of STRING in the window's font."
1663 (GRAPH-WINDOW-PROTO  OBJECT :DRAW-STRING)
1664 "Method args: (string x y)
1665 Draws STRING horizontally starting at (x y)."
1666 (GRAPH-WINDOW-PROTO  OBJECT :DRAW-STRING-UP) 
1667 "Method args: (string x y)
1668 Draws STRING vertically starting at (x y)."
1669 (GRAPH-WINDOW-PROTO  OBJECT :DRAW-TEXT)
1670 "Method args: (string x y h v)
1671 Draws STRING horizontally positioned relative to (x y). H controls horizontal
1672 justification. 0 = left justified, 1 = centered, 2 = right justified. V controls
1673 vertical positioning. 0 = above (x y), 1 = below (x y)."
1674 (GRAPH-WINDOW-PROTO  OBJECT :DRAW-TEXT-UP)
1675 "Method args: (string x y h v)
1676 Same as :DRAW-TEXT but rotated by 90 degrees."
1677 (GRAPH-WINDOW-PROTO  OBJECT :DRAW-SYMBOL)
1678 "Method args: (symbol hilited x y)
1679 Draws SYMBOL at (x y). Choices are in list *PLOT-SYMBOLS*"
1680 (GRAPH-WINDOW-PROTO  OBJECT :REPLACE-SYMBOL)
1681 "Method args: (oldsym oldh newsym newh x y)
1682 Replaces OLDSYM at (x y) by NEWSYM. Hilighting states are set by OLDH and NEWH.
1683 Available symbols are in the list *PLOT-SYMBOLS*"
1684 (GRAPH-WINDOW-PROTO  OBJECT :DRAW-BITMAP)
1685 "Method args: (image left top)
1686 Draws IMAGE, a matrix of 0's and 1's, with top left corner at (LEFT TOP)"
1687 (GRAPH-WINDOW-PROTO  OBJECT :DRAW-POINT)
1688 "Method args: (x y)
1689 Draws a single pixel at (X Y)"
1691 (GRAPH-WINDOW-PROTO  OBJECT :START-BUFFERING)
1692 "Method args: ()
1693 Starts sending drawing result so buffer or increases buffering level if already
1694 buffering."
1695 (GRAPH-WINDOW-PROTO  OBJECT :BUFFER-TO-SCREEN)
1696 "Method args: (&optional left top width height)
1697 Reduces buffering level. If level reaches zero copies content of rectangle
1698 (LEFT TOP WIDTH HEIGHT to window. Default rectangle is the window's view rectangle."
1700 (GRAPH-WINDOW-PROTO  OBJECT :COPY-TO-CLIP)
1701 "Method args: ()
1702 Sends the plot the :REDRAW message, surrounded by open and close picture commands.
1703 Then puts the picture on the clip board."
1704 (GRAPH-WINDOW-PROTO  OBJECT :DRAG-GREY-RECT)
1705 "Method args: (x y width height)
1706 Drags grey rectangle starting at (LIST (- X WIDTH) (- Y HEIGHT) WIDTH HEIGHT)
1707 while mouse button is down. Returns the final rectangle. Should be called when
1708 the mouse is down."
1709   
1710 ;; GRAPH-PROTO
1711 (GRAPH-PROTO  OBJECT PROTO)
1712 "Basic graphics window prototype."
1713 (GRAPH-PROTO  OBJECT :ISNEW)
1714 " Method args: (vars &key (title \"Graph\") location size
1715                           (go-away t) menu (black-on-white t)
1716                           has-h-scroll has-v-scroll menu-title
1717                           variable-labels scale)
1718 Initializes and send :allocate message to basic plot window."
1719 (GRAPH-PROTO  OBJECT :ALLOCATE)
1720 "Method args: ()
1721 Allocates a new graph."
1723 (GRAPH-PROTO  OBJECT :RESIZE)
1725 Method args: ()
1726 Adjusts internal layout after resizing."
1727 (GRAPH-PROTO  OBJECT :REDRAW)
1728 "Method args: ()
1729 Redraws entire plot."
1730 (GRAPH-PROTO  OBJECT :REDRAW-CONTENT)
1731 "Method args: ()
1732 Redraws plot's content."
1733 (GRAPH-PROTO  OBJECT :ADJUST-SCREEN)
1734 "Method args: ()
1735 Checks all points and adjusts their screen states to match internal state."
1736 (GRAPH-PROTO  OBJECT :ADJUST-POINTS-IN-RECT)
1737 "Method args: (left top width height state)
1738 Adjusts points in rectangle to have specified state. STATE should be HILITED or SELECTED.
1739 If it is HILITED, highlighted points outside the rectangle are unhighlighted."
1740 (GRAPH-PROTO  OBJECT :ADJUST-SCREEN-POINT)
1741 "Method args: (i)
1742 Adjusts the screen highlight state of point I to match internal state. Internal state
1743 should not be INVISIBLE."
1745 (GRAPH-PROTO  OBJECT :CONTENT-RECT)
1746 "Method args: (&optional left top width height)
1747 Sets or retrieves current content rectangle."
1748 (GRAPH-PROTO  OBJECT :CONTENT-ORIGIN)
1749 "Method args: (&optional x y)
1750 Sets or retrieves the current content origin."
1751 (GRAPH-PROTO  OBJECT :CONTENT-VARIABLES)
1752 "Method args: (&optional xvar yvar)
1753 Sets or retrieves the indices of the current content variables."
1754 (GRAPH-PROTO  OBJECT :CLICK-RANGE)
1755 "Method args: (&optional width height)
1756 Sets or retrieves the size of the current mouse click range."
1757 (GRAPH-PROTO  OBJECT :MOUSE-MODE)
1758 "Method args (&optional mode)
1759 Sets or retrieves current mouse mode."
1760 (GRAPH-PROTO  OBJECT :SHOWING-LABELS)
1761 "Method args: (&optional showing)
1762 Sets or retrieves current labeling state (true or NIL)."
1763 (GRAPH-PROTO  OBJECT :MARGIN)
1764 "Method args: (&optional left top right bottom &key (draw t))
1765 Sets or retrieves current list of margin sizes."
1766 (GRAPH-PROTO  OBJECT :FIXED-ASPECT)
1767 "Method args: (&optional fixed)
1768 Sets or retrieves current size adjustment option (true or NIL)."
1770 (GRAPH-PROTO  OBJECT :X-AXIS)
1771 "Method args: (&optional showing labeled ticks)
1772 Sets or retrieves current acis label state. SHOWING and LABELED should be
1773 true or NIL; TICKS should be a number. All three should be supplied for setting
1774 a new state. A list of the three properties is returned."
1775 (GRAPH-PROTO  OBJECT :Y-AXIS)
1776 "Method args: (&optional showing labeled ticks)
1777 Sets or retrieves current acis label state. SHOWING and LABELED should be
1778 true or NIL; TICKS should be a number. All three should be supplied for setting
1779 a new state. A list of the three properties is returned."
1780 (GRAPH-PROTO  OBJECT :BRUSH)
1781 "Method args: (x y width height)
1782 Sets or retrieves current brush. Brush is specified in terms of the lower lefthand
1783 corner and its width and height."
1784 (GRAPH-PROTO  OBJECT :ERASE-BRUSH)
1785 "Method args: ()
1786 Removes brush from the screen."
1787 (GRAPH-PROTO  OBJECT :DRAW-BRUSH)
1788 "Method args: ()
1789 Draws brush at its current position."
1790 (GRAPH-PROTO  OBJECT :MOVE-BRUSH)
1791 "Method args: (x y)
1792 Moves the brush's lower left hand corner to (X, Y)."
1793 (GRAPH-PROTO  OBJECT :RESIZE-BRUSH)
1794 "Method args: ()
1795 Opens the brush resizing dialog and resets the brush if the OK button is clicked."
1797 (GRAPH-PROTO  OBJECT :DO-CLICK)
1798 "Method args: (x y extend option)
1799 Sends appropriate action message for mouse mode to plot."
1800 (GRAPH-PROTO  OBJECT :DO-MOTION)
1801 "Method args: (x y)
1802 Sends appropriate action message for mouse mode to plot."
1803 (GRAPH-PROTO  OBJECT :DO-KEY)
1804 "Method args: (char shift option)
1805 Message received when user hits a key."
1806 (GRAPH-PROTO  OBJECT :UNSELECT-ALL-POINTS)
1807 "Method args: ()
1808 Unselects all points."
1809 (GRAPH-PROTO  OBJECT :ERASE-SELECTION)
1810 "Method args: ()
1811 Sets selected points states to invisible and sends :ADJUST-SCREEN message."
1812 (GRAPH-PROTO  OBJECT :MASK-SELECTION)
1813 "Method args: ()
1814 Masks selected points and sends :ADJUST-SCREEN message "
1815 (GRAPH-PROTO  OBJECT :UNMASK-ALL-POINTS)
1816 "Method args: ()
1817 Unmasks all points and sends :ADJUST-SCREEN message "
1818 (GRAPH-PROTO  OBJECT :SHOW-ALL-POINTS)
1819 "Method args: ()
1820 Sets all point states to normal and sends :ADJUST-SCREEN message "
1821 (GRAPH-PROTO  OBJECT :ALL-POINTS-SHOWING-P)
1822 "Method ars: ()"
1823 (GRAPH-PROTO  OBJECT :ALL-POINTS-UNMASKED-P)
1824 "Method ars: ()"
1825 (GRAPH-PROTO  OBJECT :ANY-POINTS-SELECTED-P)
1826 "Method ars: ()"
1828 (GRAPH-PROTO  OBJECT :LINKED)
1829 "Method ars: (&optional on)
1830 Sets or retrieves plot's linking state."
1832 (GRAPH-PROTO  OBJECT :NUM-VARIABLES)
1833 "Method args: ()
1834 Returns the number of variables in the plot."
1835 (GRAPH-PROTO  OBJECT :VARIABLE-LABEL)
1836 "Method args: (var &optional label)
1837 Sets or returns label for variable with index VAR. Vectorized."
1838 (GRAPH-PROTO  OBJECT :RANGE)
1839 "Method args: (index &optional low high)
1840 Sets or retrieves variable's original coordinate range. Vectorized."
1841 (GRAPH-PROTO  OBJECT :SCALED-RANGE)
1842 "Method args: (index &optional low high)
1843 Sets or retrieves variable's transformed coordinate range. Vectorized."
1844 (GRAPH-PROTO  OBJECT :SCREEN-RANGE)
1845 "Method args: (index &optional low high)
1846 Sets or retrieves variable's screen coordinate range. Vectorized."
1847 (GRAPH-PROTO  OBJECT :TRANSFORMATION)
1848 "Method args: (&optional a &key (draw t))
1849 Sets or retrieves transformation. A should be a matrix or NIL. If draw is true
1850 the :REDRAW-CONTENT message is sent."
1851 (GRAPH-PROTO  OBJECT :APPLY-TRANSFORMATION)
1852 "Method args: (a &key draw basis)
1853 Applies matrix A to current transformation. If draw is true the :REDRAW-CONTENT
1854 message is sent."
1856 (GRAPH-PROTO  OBJECT :ADD-POINTS)
1857 "Method args: (points &key point-labels (draw t))
1858 Adds points to plot. POINTS is a list of sequences, POINT-LABELS a list of
1859 strings. If DRAW is true the new points are added to the screen."
1860 (GRAPH-PROTO  OBJECT :CLEAR-POINTS)
1861 "Method args: (&key (draw t))
1862 Removes all points from the plot. If DRAW is true the :REDRAW-CONTENT
1863 message is sent."
1864 (GRAPH-PROTO  OBJECT :NUM-POINTS)
1865 "Method args: ()
1866 Returns the number of points in the plot."
1867 (GRAPH-PROTO  OBJECT :POINT-COORDINATE)
1868 "Method args: (var point &optional value)
1869 Sets or retrieves coordinate for variable VAR and point POINT in the original
1870 coordinate system. Vectorized."
1871 (GRAPH-PROTO  OBJECT :POINT-CANVAS-COORDINATE)
1872 "Method args: (var point)
1873 Returns rounded coordinate for variable VAR and point POINT in the canvas
1874 coordinate system. Vectorized."
1875 (GRAPH-PROTO  OBJECT :POINT-TRANSFORMED-COORDINATE)
1876 "Method args: (var point)
1877 Returns coordinate for variable VAR and point POINT in the transformed
1878 coordinate system. Vectorized."
1879 (GRAPH-PROTO  OBJECT :POINT-MASKED)
1880 "Method args: (point &optional masked)
1881 Sets or retrieves masked state (true or NIL) of point POINT. Vectorized."
1882 (GRAPH-PROTO  OBJECT :POINT-COLOR)
1883 "Method args: (point &optional color)
1884 Sets or retrieves color of point POINT. Vectorized."
1885 (GRAPH-PROTO  OBJECT :POINT-STATE)
1886 "Method args: (point &optional state)
1887 Sets or retrieves state (invisible, normal, hilited or selected) of point
1888 POINT. Vectorized."
1889 (GRAPH-PROTO  OBJECT :POINT-LABEL)
1890 "Method args: (point &optional label)
1891 Sets or retrieves label of point POINT. Vectorized."
1892 (GRAPH-PROTO  OBJECT :POINT-SYMBOL)
1893 "Method args: (point &optional symbol)
1894 Sets or retrieves symbol of point POINT. Vectorized."
1895 (GRAPH-PROTO  OBJECT :POINT-SELECTED)
1896 "Method args: (point &optional selected)
1897 Sets or returns selection status (true or NIL) of POINT. Sends 
1898 :ADJUST-SCREEN message if states are set. Vectorized."
1899 (GRAPH-PROTO  OBJECT :POINT-HILITED)
1900 "Method args: (point &optional hilited)
1901 Sets or returns highlighting status (true or NIL) of POINT. Sends 
1902 :ADJUST-SCREEN message if states are set. Vectorized."
1903 (GRAPH-PROTO  OBJECT :POINT-SHOWING)
1904 "Method args: (point &optional selected)
1905 Sets or returns visibility status (true or NIL) of POINT. Sends 
1906 :ADJUST-SCREEN message if states are set. Vectorized."
1907 (GRAPH-PROTO  OBJECT :UNSHOW-ALL-POINTS)
1908 "Method args: ()
1909 Makes all points invisible."
1910 (GRAPH-PROTO  OBJECT :SELECTION)
1911 "Method args: (&optional list)
1912 Sets or Return indices of current selection."
1913 (GRAPH-PROTO  OBJECT :POINTS-HILITED)
1914 "Method args: (&optional list)
1915 Sets or Return indices of currently highlighted points."
1916 (GRAPH-PROTO  OBJECT :POINTS-SHOWING)
1917 "Method args: (&optional list)
1918 Sets or Return indices of currently visible points."
1919 (GRAPH-PROTO  OBJECT :POINTS-SELECTED)
1920 "Method args: (&optional list)
1921 Sets or Return indices of current selection."
1923 (GRAPH-PROTO  OBJECT :ADD-LINES)
1924 "Method args: (lines &key type (draw t))
1925 Adds lines to plot. LINES is a list of sequences, the coordinates of the line starts.
1926 TYPE is normal or dashed. If DRAW is true the new lines are added to the screen."
1927 (GRAPH-PROTO  OBJECT :CLEAR-LINES)
1928 "Method args: (&key (draw t))
1929 Removes all lines from the plot. If DRAW is true the :REDRAW-CONTENT
1930 message is sent."
1931 (GRAPH-PROTO  OBJECT :NUM-LINES)
1932 "Method args: ()
1933 Returns the number of line starts in the plot."
1934 (GRAPH-PROTO  OBJECT :LINESTART-COORDINATE)
1935 "Method args: (var line &optional value)
1936 Sets or retrieves coordinate for variable VAR and line start LINE in the original
1937 coordinate system. Vectorized."
1938 (GRAPH-PROTO  OBJECT :LINESTART-CANVAS-COORDINATE)
1939 "Method args: (var line)
1940 Returns rounded coordinate for variable VAR and line start LINE in the canvas
1941 coordinate system. Vectorized."
1942 (GRAPH-PROTO  OBJECT :LINESTART-TRANSFORMED-COORDINATE)
1943 "Method args: (var line)
1944 Returns coordinate for variable VAR and line start LINE in the transformed
1945 coordinate system. Vectorized."
1946 (GRAPH-PROTO  OBJECT :LINESTART-MASKED)
1947 "Method args: (line &optional masked)
1948 Sets or retrieves masked state (true or NIL) of line start LINE. Vectorized."
1949 (GRAPH-PROTO  OBJECT :LINESTART-COLOR)
1950 "Method args: (line &optional color)
1951 Sets or retrieves color of line start LINE. Vectorized."
1952 (GRAPH-PROTO  OBJECT :LINESTART-NEXT)
1953 "Method args: (line &optional next)
1954 Sets or returns index of line start to which line is to be drawn. Negative values
1955 mean no line. Vectorized."
1956 (GRAPH-PROTO  OBJECT :LINESTART-TYPE)
1957 "Method args: (line &optional type)
1958 Sets or retrieves line type. Vectorized."
1959 (GRAPH-PROTO  OBJECT :LINESTART-WIDTH)
1960 "Method args: (line &optional width)
1961 Sets or retrieves the line width for the line start. Vectorized."
1963 (GRAPH-PROTO  OBJECT :DRAW-DATA-POINTS)
1964 "Method args: (var1 var2 m n)
1965 Draws points with indices between m (inclusive) and n (exclusive) using VAR1 and VAR2 
1966 coordinates."
1967 (GRAPH-PROTO  OBJECT :DRAW-DATA-LINES)
1968 "Method args: (var1 var2 m n)
1969 Draws lines with indices between m (inclusive) and n (exclusive) using VAR1 and VAR2 
1970 coordinates."
1972 (GRAPH-PROTO  OBJECT :ROTATE-2)
1973 "Method args: (var1 var2 angle &key (draw t))
1974 Rotates int the plane of variables with indices VAR1 and VAR2 by ANGLE, in
1975 radians. sends the :REDRAW-CONTENT message if DRWA is true."
1977 (GRAPH-PROTO  OBJECT :ADJUST-TO-DATA) 
1978 "Method args: (&key (draw t))
1979 Sets ranges to the actual range of variables in the original coordinate
1980 system. If DRAW is true sends :RESIZE and :REDRAW messages."
1981 (GRAPH-PROTO  OBJECT :VISIBLE-RANGE)
1982 "Method args: (var)
1983 Returns list of min and max of variable VAR over visible, unmasked points,
1984 lines and strings. Vectorized."
1985 (GRAPH-PROTO  OBJECT :SCALE-TO-RANGE)
1986 "Method args: (var low high &key (draw t))
1987 Scales and shifts data to map visible range into specified range. Sends
1988 :RESIZE and :REDRAW messages if DRAW is true."
1989 (GRAPH-PROTO  OBJECT :SCALE)
1990 "Method args: (var &optional scale &key (draw t))
1991 Sets or retrieves current scale for variable VAR. Sends :RESIZE and :REDRAW
1992 messages if DRAW is true."
1993 (GRAPH-PROTO  OBJECT :SHIFT)
1994 "Method args: (var &optional shift &key (draw t))
1995 Sets or retrieves current shift for variable VAR. Sends :RESIZE and :REDRAW
1996 messages if DRAW is true."
1998 (GRAPH-PROTO  OBJECT :CLEAR-MASKS)
1999 "Method args: ()
2000 Unmasks all points, lines and strings."
2001 (GRAPH-PROTO  OBJECT :SLICE-VARIABLE)
2002 "Method args: (var low high)
2003 Masks points lines and strings with variable VAR original coordinates outside
2004 of (LOW, HIGH)."
2005 (GRAPH-PROTO  OBJECT :REAL-TO-CANVAS) 
2006 "Method args: (x y)
2007 Returns list of canvas coordinates of point (X, Y), in the original coordinate system,
2008 based on current content variables."
2009 (GRAPH-PROTO  OBJECT :SCALED-TO-CANVAS) 
2010 "Method args: (x y)
2011 Returns list of canvas coordinates of point (X, Y), in the scaled coordinate system,
2012 based on current content variables."
2013 (GRAPH-PROTO  OBJECT :CANVAS-TO-REAL) 
2014 "Method args: (x y)
2015 Returns list of real coordinates, in the original coordinate system, of
2016 canvas point (X, Y), based on current content variables."
2017 (GRAPH-PROTO  OBJECT :CANVAS-TO-SCALED) 
2018 "Method args: (x y)
2019 Returns list of scaled coordinates, in the scaled coordinate system, of
2020 canvas point (X, Y), based on current content variables."
2021 (GRAPH-PROTO  OBJECT :POINTS-IN-RECT)
2023 Method args: (left top width height)
2024 Returns list of indices of points in screen rectangle."
2026 ;; SPIN-PROTO
2027 (SPIN-PROTO  OBJECT PROTO) "Rotating plot"
2028 (SPIN-PROTO  OBJECT :ALLOCATE) "documentation not yet available"
2030 (SPIN-PROTO  OBJECT :SHOWING-AXES)
2031 "Method args: (&optional showing)
2032 Sets or retrieves axis showing status (true or NIL)."
2033 (SPIN-PROTO  OBJECT :DEPTH-CUING)
2034 "Method args: (&optional cuing)
2035 Sets or retrieves cuing status (true or NIL)."
2036 (SPIN-PROTO  OBJECT :DO-IDLE)
2037 "Method args: ()
2038 Sends :ROTATE message."
2039 (SPIN-PROTO  OBJECT :ANGLE)
2040 "Method args: (&optional angle)
2041 Sets or retrieves current rotation angle, in radians."
2042 (SPIN-PROTO  OBJECT :ROTATE)
2043 "Method args: ()
2044 Rotates once in the current plane by the current angle."
2046 ;; SCATMAT-PROTO
2047 (SCATMAT-PROTO  OBJECT PROTO) "Scatterplot matrix"
2048   
2049 ;; NAME-LIST-PROTO
2050 (NAME-LIST-PROTO  OBJECT PROTO) "Name list"
2051 (NAME-LIST-PROTO  OBJECT :ADD-POINTS)
2052 "Method args: (points &key point-labels (draw t))
2053 Adds points to plot. POINTS is a number or a list of sequences, POINT-LABELS a list of
2054 strings. If DRAW is true the new points are added to the screen."
2056 ;; HISTOGRAM-PROTO
2057 (HISTOGRAM-PROTO  OBJECT PROTO) "Histogram"
2058 (HISTOGRAM-PROTO  OBJECT :ADD-POINTS)
2059 "Method args: (points (draw t))
2060 Adds points to plot. POINTS is a sequence or a list of sequences. If DRAW is
2061 true the new points are added to the screen."
2062 (HISTOGRAM-PROTO  OBJECT :NUM-BINS)
2063 "Method args: (&optional bins &key (draw t))
2064 Sets or retrieves number of bins in the histogram. Sends :REDRAW-CONTENT message
2065 if DRAW is true."
2066 (HISTOGRAM-PROTO  OBJECT :BIN-COUNTS)
2067 "Args: ()
2068 Returns list of the bin counts for the histogram."
2070 ;; SCATTERPLOT-PROTO
2071 (SCATTERPLOT-PROTO  OBJECT Proto) "Scatterplot"
2072 (SCATTERPLOT-PROTO  OBJECT :ADD-POINTS)
2073 "Method args: (points &key point-labels (draw t))
2074 or:          (x y  &key point-labels (draw t))
2075 Adds points to plot. POINTS is a list of sequences, 
2076 POINT-LABELS a list of strings. If DRAW is true the new points
2077 are added to the screen. For a 2D plot POINTS can be replaced
2078 by two sequences X and Y."
2079 (SCATTERPLOT-PROTO  OBJECT :ADD-LINES)
2080 "Method args: (lines &key type (draw t))
2081 or:          (x y  &key point-labels (draw t))
2082 Adds lines to plot. LINES is a list of sequences, the 
2083 coordinates of the line  starts. TYPE is normal or dashed. If
2084 DRAW is true the new lines are added to the screen. For a 2D
2085 plot LINES can be replaced by two sequences X and Y."
2088 ;; Regular Functions
2090 ;; dialog
2091 SYSBEEP 
2092 "Args (&optional (n 10))
2093 Beep for 10 units."
2094 NUM-TO-STRING 
2095 "Args (num)
2096 Return string representation of NUM."
2097 ABOUT-XLISP-STAT 
2098 "Args: ()
2099 Show \About XLISP-STAT dialog on Macintosh, return NIL"
2101 ;; edit.c
2102 OPEN-FILE-DIALOG
2103 "Args ()
2104 Present standard Macintosh Open File dialog; return file name string or NIL."
2105 FRONT-WINDOW 
2106 "Args: ()
2107 Macintosh. Return front window object, if it is an XLISP-STAT window, NIL otherwise."
2108 HIDE-FRONT-WINDOW
2109 "Args: ()
2110 Hide the front window."
2111 SYSTEM-EDIT
2113 Args (item)
2114 Check if edit selection is handled by a desk accessory. If so return T,
2115 otherwise return NIL."
2117 ;; common
2118 APROPOS
2119 "Args: (string)
2120 Prints symbols whose print-names contain STRING as substring.
2121 If STRING is a symbol its print name is used."
2122 APROPOS-LIST
2123 "Args: (string)
2124 Returns, as a list, all symbols whose print-names contain STRING as substring.
2125 If STRING is a symbol its print name is used."
2126 IDENTITY
2127 "Args: (x)
2128 Simply returns X."
2129 MAKE-LIST
2130 "Args: (size &key (initial-element nil))
2131 Creates and returns a list containing SIZE elements, each of which is
2132 initialized to INITIAL-ELEMENT."
2133 ADJOIN
2134 "Args: (item list &key (test #'eql) test-not (key #'identity))
2135 Adds ITEM to LIST unless ITEM is already a member of LIST."
2136 FILE-POSITION
2137 "Args (stream &optional position)
2138 Returns current position of file pointer in file stream STREAM. Sets
2139 pointer to POSITION if supplied."
2140 FORMAT
2141 "Args: (destination control &rest args)
2142 Very basic implementation of Common Lisp format function. Only A, S, D, F, E,
2143 G, %, and ~ directives are supported. D, % and ~ can take one argument, R, E
2144 and G can take two."
2145 FORCE-OUTPUT
2146 "Args: (&optional (stream *standard-output*))
2147 Attempts to force any buffered output to be sent."
2148 COPY-LIST
2149 "Args: (list)
2150 Returns a new copy of LIST."
2151 COPY-SEQ
2152 "Args: (sequence)
2153 Returns a copy of SEQUENCE."
2154 REDUCE
2155 "Args: (function sequence &key initial-value)
2156 Combines all the elements of SEQUENCE using a binary operation FUNCTION. If
2157 INITIAL-VALUE is supplied it is logically placed before SEQUENCE."
2159 "Args: (result-type function sequence &rest more-sequences)
2160 FUNCTION must take as many arguments as there are sequences provided.
2161 RESULT-TYPE must be the a sequence type specifier or NIL.  The result
2162 is a sequence of the specified type such that the i-th element of the
2163 result is the result of applying FUNCTION to the i-th elements of the
2164 SEQUENCEs. If the result type is NIL, results are ignored and NIL is
2165 returned."
2167 "Args: (a i)
2168 Returns element I of sequence A. ELT can be used in setf."
2169 COERCE
2170 "Args: (x type)
2171 Coerces X to an object of the type TYPE."
2172 COMPLEXP
2173 "Args: (x)
2174 Returns T if X is a complex number; NIL otherwise."
2175 COMPLEX
2176 "Args: (realpart &optional (imagpart 0))
2177 Returns a complex number with the given real and imaginary parts."
2178 CONJUGATE
2179 "Args: (number)
2180 Returns the complex conjugate of NUMBER."
2181 REALPART
2182 "Args: (number)
2183 Extracts the real part of NUMBER."
2184 IMAGPART
2185 "Args: (number)
2186 Extracts the imaginary part of NUMBER."
2187 DEFCONSTANT
2188 "Syntax: (defconstant name initial-value [doc])
2189 Declares that the variable NAME is a constant whose value is the value of
2190 INITIAL-VALUE.  If DOC is supplied, it is saved as a VARIABLE doc."
2191 DEFPARAMETER
2192 "Syntax: (defparameter name initial-value [doc])
2193 Declares the variable NAME as a special variable and initializes the value.
2194 If DOC is supplied, it is saved as a VARIABLE doc."
2195 DEFVAR
2196 "Syntax: (defvar name [initial-value [doc]])
2197 Declares the variable NAME as a special variable and, optionally, initializes
2198 it. If DOC is supplied, it is saved as a VARIABLE doc."
2199 MAKUNBOUND
2200 "Args: (symbol)
2201 Sets the function slot of SYMBOL to *UNBOUND*. Returns SYMBOL."
2202 FMAKUNBOUND
2203 "Args: (symbol)
2204 Sets the value slot of SYMBOL to *UNBOUND*. Returns SYMBOL."
2205 TIME 
2206 "Syntax: (time form)
2207 Form is evaluated and its result returned. In addition the time required 
2208 for the evaluation is printed."
2209 GETENV
2210 "Args: ()
2211 Returns current lexical environment."
2212 GET-INTERNAL-REAL-TIME
2213 "Args: ()
2214 Returns the real time in the internal time format."
2215 GET-INTERNAL-RUN-TIME
2216 "Args: ()
2217 Returns the run time in the internal time format."
2219 CONCATENATE
2220 "Args: (type &rest sequences)
2221 Returns new sequence containing all elements of SEQUENCES in order."
2222 SOME
2223 "Args (pred &rest sequences)
2224 Returns true if some elements of SEQUENCES satisfy PRED."
2225 EVERY
2226 "Args (pred &rest sequences)
2227 Returns true if every element of SEQUENCES satisfy PRED."
2228 NOTANY
2229 "Args (pred &rest sequences)
2230 Returns true if no element of SEQUENCES satisfies PRED."
2231 NOTEVERY
2232 "Args (pred &rest sequences)
2233 Returns true if some element of SEQUENCES does not satisfy PRED."
2234 UNION
2235 "Args: (list1 list2 &key :test :test-not)
2236 Returns list of all elements in either LIST1 or LIST2 or both."
2237 INTERSECTION
2238 "Args: (list1 list2 &key :test :test-not)
2239 Returns list of all elements in both LIST1 and LIST2."
2240 SET-DIFFERENCE
2241 "Args: (list1 list2 &key :test :test-not)
2242 Returns list of all elements in LIST1 but not in LIST2."
2243 SUBSETP
2244 "Args: (list1 list2 &key :test :test-not)
2245 Returns T if all elements of LIST2 are in LIST1."
2246 REMOVE-DUPLICATES
2247 "Args: (sequence &key (from-end nil) (test #'eql) test-not (start 0)
2248                      (end (length sequence)) (key #'identity))
2249 Returns a copy of sequence, if necessary, formed by removing duplicated
2250 elements from SEQUENCE."
2251 DELETE-DUPLICATES
2252 "Args: (sequence &key (from-end nil) (test #'eql) test-not (start 0)
2253                      (end (length sequence)) (key #'identity))
2254 Returns a copy of sequence, if necessary, formed by removing duplicated
2255 elements from SEQUENCE."
2256 BUTLAST
2257 "Args: (list &optional (n 1))
2258 Returns copy of LIST with last N elements removed."
2259 MAKE-STRING
2260 "Args n &key initial-element)
2261 Returns string of length N. Default INITIAL-ELEMENT is a blank."
2262 ROW-MAJOR-AREF
2263 "Args: (array index)
2264 Returns element of ARRAY with row major index INDEX".
2266 ;; xsarrays
2267 ARRAYP
2268 "Args: (x)
2269 Returns T if X is an array; NIL otherwise."
2270 ARRAY-IN-BOUNDS-P
2271 "Args: (array &rest subscripts)
2272 Returns T if SUBSCRIPTS are valid subscripts for ARRAY; NIL otherwise."
2273 ARRAY-DIMENSIONS
2274 "Args: (array)
2275 Returns a list whose elements are the dimensions of ARRAY"
2276 ARRAY-ELEMENT-TYPE
2277 "Args: (array)
2278 Returns the type of the elements of ARRAY"
2279 ARRAY-RANK
2280 "Args: (array)
2281 Returns the number of dimensions of ARRAY."
2282 ARRAY-TOTAL-SIZE
2283 "Args: (array)
2284 Returns the total number of elements of ARRAY."
2285 ARRAY-DIMENSION
2286 "Args: (array)
2287 Returns a list whose elements are the dimensions of ARRAY"
2288 ARRAY-ROW-MAJOR-INDEX
2289 "Args: (array &rest subscripts)
2290 Returns the index into the data vector of ARRAY for the element of ARRAY
2291 specified by SUBSCRIPTS."
2292 AREF
2293 "Args: (array &rest subscripts)
2294 Returns the element of ARRAY specified by SUBSCRIPTS."
2295 MAKE-ARRAY
2296 "Args: (dimensions
2297        &key initial-element (initial-contents nil)
2298             (displaced-to nil))
2299 Creates an array of the specified DIMENSIONS.  The default for INITIAL-
2300 ELEMENT depends on ELEMENT-TYPE."
2302 ;; distributions
2303 BIVNORM-CDF
2304 "Args: (x y r)
2305 Returns the value of the standard bivariate normal distribution function 
2306 with correlation R at (X, Y). Vectorized."
2307 NORMAL-CDF
2308 "Args: (x)
2309 Returns the value of the standard normal distribution function at X.
2310 Vectorized."
2311 BETA-CDF
2312 "Args: (x alpha beta)
2313 Returns the value of the Beta(ALPHA, BETA) distribution function at X.
2314 Vectorized."
2315 GAMMA-CDF
2316 "Args: (x alpha)
2317 Returns the value of the Gamma(alpha, 1) distribution function at X.
2318 Vectorized."
2319 CHISQ-CDF
2320 "Args: (x df)
2321 Returns the value of the Chi-Square(DF) distribution function at X. Vectorized."
2322 T-CDF
2323 "Args: (x df)
2324 Returns the value of the T(DF) distribution function at X. Vectorized."
2325 F-CDF
2326 "Args: (x ndf ddf)
2327 Returns the value of the F(NDF, DDF) distribution function at X. Vectorized."
2328 CAUCHY-CDF
2329 "Args: (x)
2330 Returns the value of the standard Cauchy distribution function at X.
2331 Vectorized."
2332 LOG-GAMMA
2333 "Args: (x)
2334 Returns the log gamma function of X. Vectorized."
2335 NORMAL-QUANT
2336 "Args (p)
2337 Returns the P-th quantile of the standard normal distribution. Vectorized."
2338 CAUCHY-QUANT
2339 "Args (p)
2340 Returns the P-th quantile(s) of the standard Cauchy distribution. Vectorized."
2341 BETA-QUANT
2342 "Args: (p alpha beta)
2343 Returns the P-th quantile of the Beta(ALPHA, BETA) distribution. Vectorized."
2344 GAMMA-QUANT
2345 "Args: (p alpha)
2346 Returns the P-th quantile of the Gamma(ALPHA, 1) distribution. Vectorized."
2347 CHISQ-QUANT
2348 "Args: (p df)
2349 Returns the P-th quantile of the Chi-Square(DF) distribution. Vectorized."
2350 T-QUANT
2351 "Args: (p df)
2352 Returns the P-th quantile of the T(DF) distribution. Vectorized."
2353 F-QUANT
2354 "Args: (p ndf ddf)
2355 Returns the P-th quantile of the F(NDF, DDF) distribution. Vectorized."
2356 NORMAL-DENS
2357 "Args: (x)
2358 Returns the density at X of the standard normal distribution. Vectorized."
2359 CAUCHY-DENS
2360 "Args: (x)
2361 Returns the density at X of the standard Cauchy distribution. Vectorized."
2362 BETA-DENS
2363 "Args: (x alpha beta)
2364 Returns the density at X of the Beta(ALPHA, BETA) distribution. Vectorized."
2365 GAMMA-DENS
2366 "Args: (x alpha)
2367 Returns the density at X of the Gamma(ALPHA, 1) distribution. Vectorized."
2368 CHISQ-DENS
2369 "Args: (x alpha)
2370 Returns the density at X of the Chi-Square(DF) distribution. Vectorized."
2371 T-DENS
2372 "Args: (x alpha)
2373 Returns the density at X of the T(DF) distribution. Vectorized."
2374 F-DENS
2375 "Args: (x ndf ddf)
2376 Returns the density at X of the F(NDF, DDF) distribution. Vectorized."
2377 UNIFORM-RAND
2378 "Args: (n)
2379 Returns a list of N uniform random variables from the range (0, 1).
2380 Vectorized."
2381 NORMAL-RAND
2382 "Args: (n)
2383 Returns a list of N standard normal random numbers. Vectorized."
2384 CAUCHY-RAND
2385 "Args: (n)
2386 Returns a list of N standard Cauchy random numbers. Vectorized."
2387 T-RAND
2388 "Args: (n df)
2389 Returns a list of N T(DF) random variables. Vectorized."
2390 F-RAND
2391 "Args: (n ndf ddf)
2392 Returns a list of N F(NDF, DDF) random variables. Vectorized."
2393 GAMMA-RAND
2394 "Args: (n a)
2395 Returns a list of N Gamma(A, 1) random variables. Vectorized."
2396 CHISQ-RAND
2397 "Args: (n df)
2398 Returns a list of N Chi-Square(DF) random variables. Vectorized."
2399 BETA-RAND
2400 "Args: (n a b)
2401 Returns a list of N beta(A, B) random variables. Vectorized."
2403 ;; ddistributions.c
2404 BINOMIAL-CDF
2405 "Args (x n p)
2406 Returns value of the Binomial(N, P) distribution function at X. Vectorized."
2407 POISSON-CDF
2408 "Args (x mu)
2409 Returns value of the Poisson(MU) distribution function at X. Vectorized."
2410 BINOMIAL-PMF
2411 "Args (k n p)
2412 Returns value of the Binomial(N, P) pmf function at integer K. Vectorized."
2413 POISSON-PMF
2414 "Args (k mu)
2415 Returns value of the Poisson(MU) pmf function at integer K. Vectorized."
2417 BINOMIAL-QUANT
2418 "Args: (x n p)
2419 Returns x-th quantile (left continuous inverse) of Binomial(N, P) cdf.
2420 Vectorized."
2421 POISSON-QUANT
2422 "Args: (x mu)
2423 Returns x-th quantile (left continuous inverse) of Poisson(MU) cdf.
2424 Vectorized."
2425 BINOMIAL-RAND
2426 "Args: (k n p)
2427 Returns list of K draws from the Binomial(N, P) distribution. Vectorized."
2428 POISSON-RAND
2429 "Args: (k mu)
2430 Returns list of K draws from the Poisson(MU) distribution. Vectorized."
2432 ;; linalg.c
2433 LU-DECOMP
2434 "Args: (a)
2435 A is a square matrix of numbers (real or complex). Computes the LU
2436 decomposition of A and returns a list of the form (LU IV D FLAG), where
2437 LU is a matrix with the L part in the lower triangle, the U part in the 
2438 upper triangle (the diagonal entries of L are taken to be 1), IV is a vector
2439 describing the row permutation used, D is 1 if the number of permutations
2440 is odd, -1 if even, and FLAG is T if A is numerically singular, NIL otherwise.
2441 Used bu LU-SOLVE."
2442 LU-SOLVE
2443 "Args: (lu b)
2444 LU is the result of (LU-DECOMP A) for a square matrix A, B is a sequence.
2445 Returns the solution to the equation Ax = B. Signals an error if A is singular."
2446 DETERMINANT
2447 "Args: (m)
2448 Returns the determinant of the square matrix M."
2449 INVERSE
2450 "Args: (m)
2451 Returns the inverse of the the square matrix M; signals an error if M is ill
2452 conditioned or singular"
2453 EIGEN
2454 "Args: (a)
2455 Returns list of list of eigenvalues and list of eigenvectors of square,
2456 symmetric matrix A. Third element of result is NIL if algorithm converges.
2457 If the algorithm does not converge, the third element is an integer I.
2458 In this case the eigenvalues 0, ..., I are not reliable."
2459 SV-DECOMP
2460 "Args: (a)
2461 A is a matrix of real numbers with at least as many rows as columns.
2462 Computes the singular value decomposition of A and returns a list of the form
2463 (U W V FLAG) where U and V are matrices whose columns are the left and right
2464 singular vectors of A and W is the sequence of singular values of A. FLAG is T
2465 if the algorithm converged, NIL otherwise."
2466 QR-DECOMP
2467 "Args: (a &optional pivot)
2468 A is a matrix of real numbers with at least as many rows as columns. Computes
2469 the QR factorization of A and returns the result in a list of the form (Q R).
2470 If PIVOT is true the columns of X are first permuted to place insure the
2471 absolute values of the diagonal elements of R are nonincreasing. In this case
2472 the result includes a third element, a list of the indices of the columns in
2473 the order in which they were used."
2474 CHOL-DECOMP
2475 "Args: (a)
2476 Modified Cholesky decomposition. A should be a square, symmetric matrix.
2477 Computes lower triangular matrix L such that L L^T = A + D where D is a diagonal
2478 matrix. If A is strictly positive definite D will be zero. Otherwise D is as
2479 small as possible to make A + D numerically strictly positive definite. Returns
2480 a list (L (max D))."
2481 RCONDEST
2482 "Args: (a)
2483 Returns an estimate of the reciprocal of the L1 condition number of an upper
2484 triangular matrix a."
2485 MAKE-ROTATION
2486 "Args: (x y &optional alpha)
2487 Returns a rotation matrix for rotating from X to Y, or from X toward Y 
2488 by angle ALPHA, in radians. X and Y are sequences of the same length."
2489 SPLINE
2490 "Args: (x y &key xvals)
2491 Returns list of x and y values of natural cubic spline interpolation of (X,Y).
2492 X must be strictly increasing. XVALS can be an integer, the number of equally
2493 spaced points to use in the range of X, or it can be a sequence of points at 
2494 which to interpolate."
2495 KERNEL-SMOOTH
2496 "Args: (x y &key xvals width type)
2497 Returns list of x and y values of kernel smooth of (X,Y). XVALS can be an
2498 integer, the number of equally spaced points to use in the range of X, or it
2499 can be a sequence of points at which to interpolate. WIDTH specifies the
2500 window width. TYPE specifies the lernel and should be one of the symbols G, T,
2501 U or B for Gaussian, triangular, uniform or bisquare. The default is B."
2502 KERNEL-DENS
2503 "Args: (x &key xvals width type)
2504 Returns list of x and y values of kernel density estimate of X. XVALS can be an
2505 integer, the number of equally spaced points to use in the range of X, or it
2506 can be a sequence of points at which to interpolate. WIDTH specifies the
2507 window width. TYPE specifies the lernel and should be one of the symbols G, T,
2508 U or B for gaussian, triangular, uniform or bisquare. The default is B."
2510 "Args: (x &optional inverse)
2511 Returns unnormalized Fourier transform of X, or inverse transform if INVERSE
2512 is true."
2514 ;; matrices1
2515 MATMULT
2516 "Args: (a b)
2517 Returns the matrix product of matrices a and b. If a is a vector it is treated
2518 as a row vector; if b is a vector it is treated as a column vector."
2520 "Args: (a b)
2521 Returns the matrix product of matrices a and b. If a is a vector it is treated
2522 as a row vector; if b is a vector it is treated as a column vector."
2523 INNER-PRODUCT
2524 "Args: (x y)
2525 Returns inner product of sequences X and Y."
2526 CROSS-PRODUCT
2527 "Args: (x)
2528 If X is a matrix returns (matmult (transpose X) X). If X is a vector returns
2529 (inner-product X X)."
2530 DIAGONAL
2531 "Args: (x)
2532 If X is a matrix, returns the diagonal of X. If X is a sequence, returns a
2533 diagonal matrix of rank (length X) with diagonal elements eq to the elements
2534 of X."
2535 IDENTITY-MATRIX
2536 "Args: (n)
2537 Returns the identity matrix of rank N."
2538 OUTER-PRODUCT
2539 "Args: (x y &optional (fcn #'*))
2540 Returns the generalized outer product of x and y, using fcn. Tat is, the result
2541 is a matrix of dimension ((length x) (length y)) and the (i j) element of the
2542 result is computed as (apply fcn (aref x i) (aref y j))."
2543 ROW-LIST
2544 "Args: (m)
2545 Returns a list of the rows of M as vectors"
2546 COLUMN-LIST
2547 "Args: (m)
2548 Returns a list of the columns of M as vectors"
2549 BIND-ROWS
2550 "Args (&rest args)
2551 The ARGS can be matrices, vectors, or lists. Arguments are bound into a matrix
2552 along their rows.
2553 Example: (bind-rows #2a((1 2)(3 4)) #(5 6)) returns #2a((1 2)(3 4)(5 6))"
2554 BIND-COLUMNS
2555 "Args (&rest args)
2556 The ARGS can be matrices, vectors, or lists. Arguments are bound into a matrix
2557 along their columns.
2558 Example: (bind-columns #2a((1 2)(3 4)) #(5 6)) returns #2a((1 2 5)(3 4 6))"
2559 TRANSPOSE
2560 "Args: (m)
2561 Returns the transpose of the matrix M."
2563 ;; matrices2
2564 MAKE-SWEEP-MATRIX
2565 "Args: (x y &optional weights)
2566 X is a matrix, Y and WEIGHTS are sequences. Returns the sweep matrix for the
2567 (possibly weighted) regression of Y on X."
2568 SWEEP-OPERATOR
2569 "Args: (a indices &optional tolerances)
2570 A is a matrix, INDICES a sequence of the column indices to be swept. Returns
2571 a list of the swept result and the list of the columns actually swept. (See
2572 MULTREG documentation.) If supplied, TOLERANCES should be a list of real
2573 numbers the same length as INDICES. An index will only be swept if its pivot
2574 element is larger than the corresponding element of TOLERANCES."
2576 ;; basics
2577 SEQUENCEP
2578 "Args: (x)
2579 Returns T if X is a sequence, NIL otherwise."
2580 COPY-VECTOR
2581 "Args: (VECTOR)
2582 Returns a copy of VECTOR with elements eq to the elements of VECTOR"
2583 COPY-ARRAY
2584 "Args: (array)
2585 Returns a copy of ARRAY with elements eq to the elements of ARRAY."
2586 SPLIT-LIST
2587 "Args: (list n)
2588 Returns a list of lists each of length N of the elements of LIST.
2589 Example: (split-list '(1 2 3 4 5 6) 2) returns ((1 2) (3 4) (5 6))"
2590 WHICH
2591 "Args: (x)
2592 X is an array or a list. Returns a list of the indices where X is not NIL."
2593 ISEQ
2594 "Args: (n &optional m)
2595 With one argument returns a list of consecutive integers from 0 to N - 1.
2596 With two returns a list of consecutive integers from N to M.
2597 Examples: (iseq 4) returns (0 1 2 3)
2598           (iseq 3 7)  returns (3 4 5 6 7)
2599           (iseq 3 -3) returns (3 2 1 0 -1 -2 -3)"
2600 REPEAT
2601 "Args: (vals times)
2602 Repeats VALS. If TIMES is a number and VALS is a non-null, non-array atom, a list
2603 of length TIMES with all elements eq to VALS is returned. If VALS is a list and
2604 TIMES is a number then VALS is appended TIMES times. If TIMES is a list of numbers
2605 then VALS must be a list of equal length and the simpler version of repeat is
2606 mapped down the two lists.
2607 Examples: (repeat 2 5)                 returns (2 2 2 2 2)
2608           (repeat '(1 2) 3)            returns (1 2 1 2 1 2)
2609           (repeat '(4 5 6) '(1 2 3))   returns (4 5 5 6 6 6)
2610           (repeat '((4) (5 6)) '(2 3)) returns (4 4 5 6 5 6 5 6)"
2611 SAMPLE
2612 "Args: (x n &optional (replace nil))
2613 Returns a list of a random sample of size N from sequence X drawn with or
2614 without replacement."
2615 SELECT
2616 "Args: (a &rest indices)
2617 A can be a list or an array. If A is a list and INDICES is a single number
2618 then the appropriate element of A is returned. If  is a list and INDICES is
2619 a list of numbers then the sublist of the corresponding elements is returned.
2620 If A in an array then the number of INDICES must match the ARRAY-RANK of A.
2621 If each index is a number then the appropriate array element is returned.
2622 Otherwise the INDICES must all be lists of numbers and the corresponding
2623 submatrix of A is returned. SELECT can be used in setf."
2624 PERMUTE-ARRAY
2625 "Args: (a p)
2626 Returns a copy of the array A permuted according to the permutation P."
2628 ;; compound
2629 COMPOUND-DATA-P
2630 "Args: (x)
2631 Returns T if X is a compound data item, NIL otherwise."
2632 MAP-ELEMENTS
2633 "Args: (function data &rest more-data)
2634 FUNCTION must take as many arguments as there are DATA arguments supplied.
2635 DATA arguments must either all be sequences or all be arrays of the same
2636 shape. The result is of the same type and shape as the first DATA argument,
2637 with elements the result of applying FUNCTION elementwise to the DATA
2638 arguments"
2639 COMPOUND-DATA-SEQ
2640 "Args (x)
2641 Returns data sequence in X."
2642 COMPOUND-DATA-LENGTH
2643 "Args (x)
2644 Returns length of data sequence in X."
2646 ;; math.c
2648 "Args: (&rest numbers)
2649 Returns the sum of its arguments.  With no args, returns 0. Vectorized."
2651 "Args: (number &rest more-numbers)
2652 Subtracts the second and all subsequent NUMBERs from the first. With one arg,
2653 negates it. Vectorized."
2655 "Args: (&rest numbers)
2656 Returns the product of its arguments. With no args, returns 1. Vectorized."
2658 "Args: (number &rest more-numbers)
2659 Divides the first NUMBER (element-wise) by each of the subsequent NUMBERS.
2660 With one arg, returns its reciprocal. Vectorized."
2662 "Args: (x y)
2663 Returns the remainder of dividing x by y. Vectorized."
2665 "Args: (x y)
2666 Returns x mod y. Vectorized."
2667 PMIN
2668 "Args: (&rest items)
2669 Parallel minimum of ITEMS. Vectorized."
2670 PMAX
2671 "Args: (&rest items)
2672 Parallel maximum of ITEMS. Vectorized."
2674 "Args: (base-number power-number)
2675 Returns BASE-NUMBER raised to the power POWER-NUMBER. Vectorized."
2677 "Args: (base-number power-number)
2678 Returns BASE-NUMBER raised to the power POWER-NUMBER. Vectorized."
2679 EXPT
2680 "Args: (base-number power-number)
2681 Returns BASE-NUMBER raised to the power POWER-NUMBER. Vectorized."
2683 "Args: (number)
2684 Returns the natural logarithm(s) of NUMBER. Vectorized."
2687 "Args: (number)
2688 Returns the absolute value or modulus of NUMBER. Vectorized."
2690 "Args: (number)
2691 Returns NUMBER + 1. Vectorized."
2693 "Args: (number)
2694 Returns NUMBER - 1. Vectorized."
2696 "Args: (radians)
2697 Returns the sine of RADIANS. Vectorized."
2699 "Args: (radians)
2700 Returns the cosine of RADIANS. Vectorized."
2702 "Args: (radians)
2703 Returns the tangent of RADIANS. Vectorized."
2705 "Args: (x)
2706 Calculates e raised to the power x, where e is the base of natural
2707 logarithms. Vectorized."
2708 SQRT
2709 "Args: (number)
2710 Returns the square root of NUMBER. Vectorized."
2711 TRUNCATE
2712 "Args: (number)
2713 Returns real NUMBER as an integer, rounded toward 0. Vectorized.  With
2714 simple arguments, returns remainder as second value."
2715 FLOAT
2716 "Args: (number)
2717 Converts real number to a floating-point number.  If NUMBER is
2718 already a float, FLOAT simply returns NUMBER. Vectorized."
2719 RANDOM
2720 "Args: (number)
2721 Generates a uniformly distributed pseudo-random number between zero (inclusive)
2722 and NUMBER (exclusive). Vectorized."
2723 FLOOR
2724 "Args: (number)
2725 Returns the largest integer( not larger than the NUMBER. Vectorized.
2726 With simple arguments, returns remainder as second value."
2727 CEILING
2728 "Args: (number)
2729 Returns the smallest integer(s) not less than or NUMBER. Vectorized.
2730 With simple arguments, returns remainder as second value."
2731 ROUND
2732 "Args: (number)
2733 Rounds NUMBER to nearest integer. Vectorized.  With simple arguments,
2734 returns remainder as second value."
2735 ASIN
2736 "Args: (number)
2737 Returns the arc sine of NUMBER. Vectorized."
2738 ACOS
2739 "Args: (number)
2740 Returns the arc cosine of NUMBER. Vectorized."
2741 ATAN
2742 "Args: (number)
2743 Returns the arc tangent of NUMBER. Vectorized."
2744 PHASE
2745 "Args: (number)
2746 Returns the angle part of the polar representation of a complex number.
2747 For non-complex numbers, this is 0."
2749 MINUSP
2750 "Args: (number)
2751 Returns T if NUMBER < 0; NIL otherwise. Vectorized."
2752 ZEROP
2753 "Args: (number)
2754 Returns T if NUMBER = 0; NIL otherwise. Vectorized."
2755 PLUSP 
2756 "Args: (number)
2757 Returns T if NUMBER > 0; NIL otherwise. Vectorized."
2758 EVENP
2759 "Args: (integer)
2760 Returns T if INTEGER is even.  Returns NIL if INTEGER is odd. Vectorized."
2761 ODDP
2762 "Args: (integer)
2763 Returns T if INTEGER is odd; NIL otherwise. Vectorized."
2765 LOGAND
2766 " Args: ({number}*)
2767 Bit-wise logical AND of NUMBERs. Vectorized."
2768 LOGIOR
2769 " Args: ({number}*)
2770 Bit-wise logical OR of NUMBERs. Vectorized."
2771 " Args: ({number}*)
2772 Bit-wise logical XOR of NUMBERs. Vectorized."
2773 LOGNOT
2774 "Args: (number)
2775 Bit-wise logical NOT of NUMBER. Vectorized."
2776 LOGXOR
2777 "Args: (&rest integers)
2778 Returns the bit-wise EXCLUSIVE OR of its arguments."
2781 "Args: (&rest numbers)
2782 Returns T if NUMBERS are in strictly increasing order; NIL otherwise.
2783 Vectorized."
2785 "Args: (&rest numbers)
2786 Returns T if NUMBERS are in nondecreasing order; NIL otherwise. Vectorized."
2788 "Args: (&rest numbers)
2789 Returns T if NUMBERS are all equal; NIL otherwise. Vectorized."
2791 "Args: (&rest numbers)
2792 Returns T if NUMBERS no two adjacent numbers are equal; NIL otherwise. Vectorized."
2794 "Args: (&rest numbers)
2795 Returns T if NUMBERS are in nonincreasing order; NIL otherwise. Vectorized."
2797 "Args: (&rest numbers)
2798 Returns T if NUMBERS are in strictly decreasing order; NIL otherwise. Vectorized."
2800 ;; objects
2801 KIND-OF-P
2802 "Args: (x y)
2803 Returns T is X and Y are objects and X inherits from Y, NIL otherwise."
2804 SLOT-VALUE
2805 "Args: (slot &optional value)
2806 Must be used in a method. Returns the value of current objects slot named SLOT.
2807 If Value is supplied SLOT is set to VALUE. Can be used in setf."
2808 MAKE-OBJECT
2809 "Args: (&rest parents)
2810 Returns a new object with parents PARENTS. If PARENTS is NIL (list *OBJECT*)
2811 is used."
2812 SEND
2813 "Args: (object selector &rest args)
2814 Applies first method for SELECTOR found in OBJECT's precedence list to
2815 OBJECT and ARGS."
2816 SEND-SUPER
2817 "Args: (selector &rest args)
2818 Apply inherited method. Must be used within a method. Specifically, Applies 
2819 first method for SELECTOR found in the cdr of the precedence list of the owner
2820 of the current method to the current object and args."
2821 CALL-METHOD
2822 "Args (object selector &rest args)
2823 Funcalls method for SELECTOR found in OBJECT to SELF. Can only be used in a method."
2824 CALL-NEXT-METHOD
2825 "Args (&rest args)
2826 Funcalls next method for current selector and precedence list. Can only be used in a method."
2827 DEFMETH
2828 "Syntax: (defmeth object name lambda-list [doc] {form}*)
2829 OBJECT must evaluate to an existing object. Installs a method for NAME in
2830 the value of OBJECT and installs DOC in OBJECTS's documentation."
2831 DEFPROTO
2832 "Syntax (defproto name &optional ivars cvars (parent *object*) doc)
2833 Makes a new object prototype with instance variables IVARS, 'class'
2834 variables CVARS and parents PARENT. PARENT can be a single object or
2835 a list of objects. IVARS and CVARS must be lists."
2837 ;; optimize
2838 BRACKET-SEARCH
2839 "Args: (f a b &key (max-iters 50) (verbose nil))
2840 F is a real valued function of one argument, A and B are real numbers.
2841 Tries to bracket a local minimum of f. Returns a list of the form 
2842 ((A C B) (FA FC FB)), with A <= C <= B and FA = (f A) , etc. If the search
2843 was successful then FC < min(FA, FB). Prints iteration information if
2844 VERBOSE is not NIL."
2845 GOLDEN-SEARCH
2846 "Args: (f a b &key start (tolerance .000001) (verbose nil))
2847 F is a real valued function of one argument, A and B are real numbers.
2848 Uses a golden section search to locate the minimum of F. Convergence
2849 occurs roughly when the change in X is less than tolerance * (1 + x).
2850 Returns list of the form (X FX), with FX = (F X). Prints iteration
2851 information if VERBOSE is not NIL."
2852 PARABOLIC-SEARCH
2853 "Args: (f a b &key start (tolerance .00001) (max-iters 100) (verbose nil))
2854 F is a real valued function of one argument, A and B are real numbers.
2855 Uses a hybrid parabolic approximation/golden section search to locate
2856 the minimum of F. Convergence occurs roughly when the change in X is
2857 less than tolerance * (1 + x). Returns list of the form (X FX N), 
2858 with FX = (F X) and N is the number of iterations. Prints iteration information
2859 if VERBOSE is not NIL."
2861 ;; sortdata.c
2862 SORT-DATA
2863 "Args: (sequence)
2864 Returns a sequence with the numbers or strings in the sequence X in order."
2865 ORDER
2866 "Args (x)
2867 Returns a sequence of the indices of elements in the sequence of numbers
2868 or strings X in order."
2869 RANK
2870 "Args (x)
2871 Returns a sequence with the elements of the list or array of numbers or
2872 strings X replaced by their ranks."
2874 ;; statistics.c
2875 QUANTILE
2876 "Args: (x p)
2877 Returns the P-th quantile(s) of X. Vectorized on P."
2879 "Args: (&rest number-data)
2880 Returns the sum of all the elements of its arguments. Returns 0 if there
2881 are no arguments. Vector reducing."
2882 PROD
2883 "Args: (&rest number-data)
2884 Returns the product of all the elements of its arguments. Returns 1 if there
2885 are no arguments. Vector reducing."
2887 "Args: (number &rest more-numbers)
2888 Returns the least of its arguments. Vector reducing"
2890 "Args: (number &rest more-numbers)
2891 Returns the greatest of its arguments. Vector reducing"
2892 COUNT-ELEMENTS
2893 "Args: (number &rest more-numbers)
2894 Returns the number of its arguments. Vector reducing"
2895 ELEMENT-SEQ
2896 "Args: (x)
2897 Returns sequence of the elements of compound item X."
2898 IF-ELSE
2899 "Args: (first x y)
2900 Takes simple or compound data items FIRST, X and Y and returns result of
2901 elementswise selecting from X if FIRST is not NIL and from Y otherwise."
2902 MEAN
2903 "Args: (x)
2904 Returns the mean of the elements x. Vector reducing."
2905 NUMGRAD
2906 "Args: (f x &optional scale derivstep)
2907 Computes the numerical gradient of F at X."
2908 NUMHESS
2909 "Args: (f x &optional scale derivstep)
2910 Computes the numerical Hessian matrix of F at X."
2912 ;; uni
2913 MAKE-RANDOM-STATE
2914 "Args (&optional state generator)
2915 If STATE is NIL or omitted returns a copy of the current value of
2916 *random-state*. If STATE is a state object a copy of STATE is returned.
2917 If STATE is T a new, \"randomly\" initialized state object is returned.
2918 In this case the current generator is used unless an alternate GENERATOR
2919 is specified as an integer 0, 1, 2,  or 3."
2920 RANDOM-STATE-P
2921 "Args (x)
2922 Returns T if X can be used as a RANDOM-STATE."
2924 ;; windows
2925 SCREEN-SIZE
2926 "Args: ()
2927 Returns list (WIDTH HEIGHT) of screen dimensions."
2928 SCREEN-HAS-COLOR
2929 "Args: ()
2930 Returns T is system supports color, NIL otherwise."
2932 ;; xsiviewwindow.c
2933 RESET-GRAPHICS-BUFFER
2934 "Args: ()
2935 Resets the graphics buffer."
2937 ;; xsiviewinternal
2938 UNLINK-ALL-WINDOWS
2939 "Args: ()
2940 Unlinks all plots."
2942 ;; xsiview
2943 GET-NICE-RANGE
2944 "Args: (low high ticks)
2945 Returns list of the form (LOW HIGH TICKS) that makes for nice tick marks."
2947 ;; xsgraphics
2948 HISTOGRAM
2949 "Args: (data &key (title \"Histogram\"))
2950 Opens a window with a histogram of DATA. TITLE is the window title. The number
2951 of bins used can be adjusted using the histogram menu. The histogram can be
2952 linked to other plots with the link-views command. Returns a plot object."
2953 PLOT-POINTS
2954 "Args: (x y &key (title \"Scatter Plot\") variable-labels point-labels symbol color)
2955 Opens a window with a scatter plot of X vs Y, where X and Y are compound
2956 number-data. VARIABLE-LABELS and POINT-LABELS, if supplied, should be lists of
2957 character strings. TITLE is the window title. The plot can be linked to
2958 other plots with the link-views command. Returns a plot object."
2959 PLOT-LINES
2960 "Args: (x y &key (title \"Line Plot\") variable-labels type width color)
2961 Opens a window with a connected line plot of X vs Y, where X and Y are
2962 compound number-data. VARIABLE-LABELS, if supplied, should be lists of
2963 character strings. TITLE is the window title. The plot can be linked to
2964 other plots with the link-views command. Returns a plot object."
2965 SPIN-PLOT
2966 "Args: (data &key (title \"Spinning Plot\") variable-labels point-labels
2967                  (scale t))
2968 DATA is a list of three compound number-data objects of equal length. Opens
2969 a window with a rotating plot of the three elements of DATA. VARIABLE-LABELS
2970 and POINT-LABELS, if supplied, should be lists of character strings. TITLE
2971 is the window title. If scale is NIL data are assumed to be between -1 and 1.
2972 The plot can be linked to other plots with the link-views command. Returns
2973 a plot object."
2974 SCATTERPLOT-MATRIX
2975 "Args: (data &key (title \"Spinning Plot\") variable-labels point-labels
2976                  (scale t))
2977 DATA is a list of two or more compound number-data objects of equal length.
2978 Opens a window with a brushable scatter plot matrix of the elements of DATA.
2979 VARIABLE-LABELS and POINT-LABELS, if supplied, should be lists of character strings.
2980 TITLE is the window title. If scale is NIL data are assumed to be between -1
2981 and 1.The plot can be linked to other plots with the link-views command.
2982 Returns a plot object."
2983 NAME-LIST
2984 "Args: (names &key (title \"Name List\"))
2985 NAMES is a number or a list of character strings. Opens a window with a list
2986 of the supplied character strings or entries numbered from 0 to NAMES - 1.
2987 This display can be linked to plots with the link-views function. Returns a
2988 plot object."
2989 BEST-CURSOR-SIZE
2990 "Args: (&optional width height)
2991 Returns list of best cursor width and height close to WIDTH and HEIGHT
2992 to use on the active display. Only available under X11 windows."
2993 PARSE-COLOR
2994 "Args: (string)
2995 Returns list of RGB values for STRING, an X11 color specification.
2996 Only available under X11 windows."
2997 FREE-COLOR 
2998 "Args: (symbol)
2999 Frees the color associated with SYMBOL."
3000 FREE-CURSOR
3001 "Args: (symbol)
3002 Frees the cursor associated with SYMBOL."
3003 MAKE-COLOR
3004 "Args: (symbol red green blue)
3005 Allocates color specified by real fractinal RGB values and associates
3006 it with SYMBOL."
3007 MAKE-CURSOR
3008 "Args: (symbol image &optional mask x-hot y-hot)
3009 Allocates cursor and associates it with SYMBOL. IMAGE and MASK are matrices of
3010 0's and 1's, x-hot and y-hot are integers representing the hot spot."
3012 LOGTEST
3013 "Args: (integer1 integer2)
3014 Returns T if LOGAND of INTEGER1 and INTEGER2 is not zero; NIL otherwise."
3016 "Args: (radians)
3017 Returns e raised to i*RADIANS."
3018 SINH
3019 "Args: (number)
3020 Returns the hyperbolic sine of NUMBER."
3021 COSH
3022 "Args: (number)
3023 Returns the hyperbolic cosine of NUMBER."
3024 TANH
3025 "Args: (number)
3026 Returns the hyperbolic tangent of NUMBER."
3027 ASINH
3028 "Args: (number)
3029 Returns the hyperbolic arc sine of NUMBER."
3030 ACOSH
3031 "Args: (number)
3032 Returns the hyperbolic arc cosine of NUMBER."
3033 ATANH
3034 "Args: (number)
3035 Returns the hyperbolic arc tangent of NUMBER."
3036 NUNION
3037 "Args: (list1 list2 &key (test #'eql) test-not (key #'identity))
3038 Returns the union of LIST1 and LIST2.  LIST1 and/or LIST2 may be destroyed."
3039 NINTERSECTION
3040 "Args: (list1 list2 &key (test #'eql) test-not (key #'identity))
3041 Returns the intersection of LIST1 and LIST2.  LIST1 may be destroyed."
3042 NSET-DIFFERENCE
3043 "Args: (list1 list2 &key (test #'eql) test-not (key #'identity))
3044 Returns a list of elements of LIST1 that do not appear in LIST2.  LIST1 may
3045 be destroyed."
3046 ALPHA-CHAR-P
3047 "Args: (char)
3048 Returns T if CHAR is an alphabetic character, A-Z or a-z; NIL otherwise."
3049 CONSTANTP
3050 "Args: (item)
3051 Returns T if item always evaluates to the same thing; NIL otherwise."
3052 MAPCAN
3053 "Args: (fun list &rest more-lists)
3054 Applies FUN to successive cars of LISTs, NCONCs the results, and returns it."
3055 MAPCON
3056 "Args: (fun list &rest more-lists)
3057 Applies FUN to successive cdrs of LISTs, NCONCs the results, and returns it."
3058 OPEN-STREAM-P
3059 "Args: (stream)
3060 Returns non-NIL if STREAM is not a closed file stream."
3061 INPUT-STREAM-P
3062 "Args: (stream)
3063 Returns non-NIL if STREAM can handle input operations; NIL otherwise."
3064 OUTPUT-STREAM-P
3065 "Args: (stream)
3066 Returns non-nil if STREAM can handle output operations; NIL otherwise."
3067 TYPEP
3068 "Args: (x type)
3069 Returns T if X is of the type TYPE; NIL otherwise."
3070 FRESH-LINE
3071 "Args: (&optional (stream *standard-output*))
3072 Outputs a newline if it is not positioned at the beginning of a line.  Returns
3073 T if it output a newline; NIL otherwise."
3074 APPLYHOOK
3075 "Args: (function args evalhookfn applyhookfn)
3076 Applies FUNCTION to ARGS, with *EVALHOOK* bound to EVALHOOKFN and with
3077 *APPLYHOOK* bound to APPLYHOOKFN.  Ignores the hook function once, for the
3078 top-level application of FUNCTION to ARGS."
3079 NREVERSE
3080 "Args: (sequence)
3081 Returns a sequence of the same elements as SEQUENCE but in reverse order.
3082 SEQUENCE may be destroyed."
3083 GETHASH
3084 "Args: (key hash-table &optional (default nil))
3085 Finds the entry in HASH-TABLE whose key is KEY and returns the associated
3086 value and T, as multiple values.  Returns DEFAULT and NIL if there is no
3087 such entry."
3088 REMHASH
3089 "Args: (key hash-table)
3090 Removes any entry for KEY in HASH-TABLE.  Returns T if such an entry
3091 existed; NIL otherwise."
3092 MAKE-HASH-TABLE
3093 "Args: (&key (test 'eql) (size 1024) (rehash-size 1.5) (rehash-threshold 0.7))
3094 Creates and returns a hash table."
3095 CLRHASH
3096 "Args: (hash-table)
3097 Removes all entries of HASH-TABLE and returns the hash table itself."
3098 MAPHASH
3099 "Args: #'hash-table
3100 For each entry in HASH-TABLE, calls FUNCTION on the key and value of the
3101 entry; returns NIL."
3102 HASH-TABLE-COUNT
3103 "Args: (hash-table)
3104 Returns the number of entries in the given Hash-Table."
3105 LIST*
3106 "Args: (arg &rest others)
3107 Returns a list of its arguments with the last cons being a dotted pair of
3108 the next to the last argument and the last argument."
3109 COUNT-IF
3110 "Args: (test sequence
3111         &key from-end (start 0) (end (length sequence)) (key #'identity))
3112 Returns the number of elements in SEQUENCE satisfying TEST."
3113 COUNT-IF-NOT
3114 "Args: (test sequence
3115         &key from-end (start 0) (end (length sequence)) (key #'identity))
3116 Returns the number of elements in SEQUENCE not satisfying TEST."
3117 COUNT
3118 "Args: (item sequence
3119         &key (test #'eql) test-not from-end (start 0)
3120              (end (length sequence)) (key #'identity))
3121 Returns the number of elements in SEQUENCE satisfying TEST with ITEM."
3122 FIND-IF
3123 "Args: (test sequence
3124         &key from-end (start 0) (end (length sequence)) (key #'identity))
3125 Returns the index of the first element in SEQUENCE that satisfies TEST; NIL if
3126 no such element exists."
3127 FIND-IF-NOT
3128 "Args: (test sequence
3129         &key from-end (start 0) (end (length sequence)) (key #'identity))
3130 Returns the index of the first element in SEQUENCE that does not satisfy
3131 TEST; NIL if no such element exists."
3132 FIND
3133 "Args: (item sequence
3134         &key (test #'eql) test-not from-end (start 0)
3135              (end (length sequence)) (key #'identity))
3136 Returns the first element in SEQUENCE satisfying TEST with ITEM; NIL if no
3137 such element exists."
3138 POSITION-IF
3139 "Args: (test sequence
3140         &key from-end (start 0) (end (length sequence)) (key #'identity))
3141 Returns the index of the first element in SEQUENCE that satisfies TEST; NIL
3142 if no such element exists."
3143 POSITION-IF-NOT
3144 "Args: (test sequence
3145         &key from-end (start 0) (end (length sequence)) (key #'identity))
3146 Returns the index of the first element in SEQUENCE that does not satisfy TEST;
3147 NIL if no such element exists."
3148 POSITION
3149 "Args: (item sequence
3150         &key (test #'eql) test-not from-end (start 0)
3151              (end (length sequence)) (key #'identity))
3152 Returns the index of the first element in SEQUENCE that satisfies TEST with
3153 ITEM; NIL if no such element exists."
3154 SEARCH
3155 "Args: (sequence1 sequence2
3156         &key (test #'eql) test-not (start1 0) (start2 0)
3157              (end1 (length sequence1)) (end2 (length sequence2))
3158              (key #'identity))
3159 A search is conducted for the first subsequence of SEQUENCE2 which
3160 element-wise matches SEQUENCE1.  If there is such a subsequence in SEQUENCE2,
3161 the index of the its leftmost element is returned; otherwise, NIL is
3162 returned."
3163 FILE-LENGTH
3164 "Args: (file-stream)
3165 Returns the length of the specified file stream."
3166 TRUENAME
3167 "Args: (pathname)
3168 Returns the pathname for the actual file described by PATHNAME."
3169 DELETE-FILE
3170 "Args: (file)
3171 Deletes FILE."
3173 "Args: (integer count)
3174 Shifts INTEGER left by COUNT places.  Shifts right if COUNT is negative."
3176 "Args: (integer &rest more-integers)
3177 Returns the least common multiple of the arguments."
3179 EXPORT
3180 "Args: (symbols &optional (package *package*))
3181 Makes SYMBOLS external symbols of PACKAGE.  SYMBOLS must be a list of
3182 symbols or a symbol."
3183 FIND-ALL-SYMBOLS
3184 "Args: (string-or-symbol)
3185 Returns a list of all symbols that have the specified name."
3186 FIND-PACKAGE
3187 "Args: (name)
3188 Returns the specified package if it already exists; NIL otherwise.
3189 NAME may be a string that is the name or nickname of the package.
3190 NAME may also be a symbol, in which case the symbol's print name is
3191 used."
3192 FIND-SYMBOL
3193 "Args: (name &optional (package *package*))
3194 Returns the symbol named NAME in PACKAGE.  If such a symbol is found,
3195 then the second value is :INTERN, :EXTERNAL, or :INHERITED to indicate
3196 how the symbol is accessible.  If no symbol is found then both values
3197 are NIL."
3198 FUNCTIONP
3199 "Args: (x)
3200 Returns T if X is a function.  Returns NIL otherwise."
3201 HASH-TABLE-P
3202 "Args: (x)
3203 Returns T if X is a hash table object; NIL otherwise."
3204 IMPORT
3205 "Args: (symbols &optional (package *package*))
3206 Makes SYMBOLS internal symbols of PACKAGE.  SYMBOLS must be a list of
3207 symbols or a symbol."
3208 IN-PACKAGE
3209 "Syntax: (package-name)
3210 Sets *PACKAGE* to the package with PACKAGE-NAME. PACKAGE-NAME is not
3211 evaluated. Signals an error if package does not exist."
3212 LIST-ALL-PACKAGES
3213 "Args: ()
3214 Returns a list of all existing packages."
3215 LIST-LENGTH
3216 "Args: (list)
3217 Returns the length of LIST, or NIL if LIST is circular."
3218 MAKE-PACKAGE
3219 "Args: (package-name &key (nicknames nil) (use '(lisp)))
3220 Makes a new package having the specified PACKAGE-NAME and NICKNAMES.
3221 The package will inherit all external symbols from each package in the
3222 USE list."
3223 MULTIPLE-VALUE-CALL
3224 "Syntax: (multiple-value-call function {form}*)
3225 Calls FUNCTION with all the values of FORMs as arguments."
3226 MULTIPLE-VALUE-PROG1
3227 "Syntax: (multiple-value-prog1 form {form}*)
3228 Evaluates the first FORM, saves all the values produced, then evaluates
3229 the other FORMs.  Returns the saved values."
3230 NSTRING-CAPITALIZE
3231 "Args: (string &key (start 0) (end (length string)))
3232 Returns STRING with the first character of each word converted to
3233 upper-case, and remaining characters in the word converted to lower
3234 case."
3235 NSUBLIS
3236 "Args: (alist tree &key (test #'eql) test-not (key #'identity))
3237 Substitutes from ALIST for subtrees of TREE."
3238 NSUBST
3239 "Args: (new old tree &key (test #'eql) test-not (key #'identity))
3240 Substitutes NEW for subtrees in TREE that match OLD."
3241 NSUBST-IF
3242 "Args: (new test tree &key (key #'identity))
3243 Substitutes NEW for subtrees of TREE that satisfy TEST."
3244 NSUBST-IF-NOT
3245 "Args: (new test tree &key (key #'identity))
3246 Substitutes NEW for subtrees of TREE that do not satisfy TEST."
3247 PACKAGE-NAME
3248 "Args: (package)
3249 Returns the string that names the specified PACKAGE."
3250 PACKAGE-NICKNAMES
3251 "Args: (package)
3252 Returns as a list the nickname strings for the specified PACKAGE."
3253 PACKAGE-SHADOWING-SYMBOLS
3254 "Args: (package)
3255 Returns the list of symbols that have been declared as shadowing
3256 symbols in PACKAGE."
3257 PACKAGE-USE-LIST
3258 "Args: (package)
3259 Returns the list of packages used by PACKAGE."
3260 PACKAGE-USED-BY-LIST
3261 "Args: (package)
3262 Returns the list of packages that use PACKAGE."
3263 PACKAGEP
3264 "Args: (x)
3265 Returns T if X is a package; NIL otherwise."
3266 PSETF
3267 "Syntax: (psetf {place newvalue}*)
3268 Similar to SETF, but evaluates all NEWVALUEs first, and then replaces
3269 the value in each PLACE with the value of the corresponding NEWVALUE.
3270 Returns NIL always."
3271 RENAME-PACKAGE
3272 "Args: (package new-name &optional (new-nicknames nil))
3273 Replaces the old name and nicknames of PACKAGE with NEW-NAME and
3274 NEW-NICKNAMES."
3275 SHADOW
3276 "Args: (symbols &optional (package *package*))
3277 Creates an internal symbol in PACKAGE with the same name as each of
3278 the specified SYMBOLS.  SYMBOLS must be a list of symbols or a
3279 symbol."
3280 SHADOWING-IMPORT
3281 "Args: (symbols &optional (package *package*))
3282 Imports SYMBOLS into PACKAGE, disregarding any name conflict.  If a
3283 symbol of the same name is already present, then it is uninterned.
3284 SYMBOLS must be a list of symbols or a symbol."
3285 STRING-CAPITALIZE
3286 "Args: (string &key (start 0) (end (length string)))
3287 Returns a copy of STRING with the first character of each word
3288 converted to upper-case, and remaining characters in the word
3289 converted to lower case."
3290 FIFTH
3291 "Args: (x)
3292 Equivalent to (CAR (CDDDDR X))."
3293 EIGHTH
3294 "Args: (x)
3295 Equivalent to (CADDDR (CDDDDR X))."
3296 NINTH
3297 "Args: (x)
3298 Equivalent to (CAR (CDDDDR (CDDDDR X)))."
3299 EVAL-WHEN
3300 "Syntax: (eval-when ({situation}*) {form}*)
3301 A situation must be either :COMPILE-TOPLEVEL, :LOAD-TOPLEVEL, or
3302 :EXECUTE. The old situations COMPILE, LOAD and EVAL are also
3303 supported.  The interpreter evaluates only when :EXECUTE is specified.
3304 If :COMPILE-TOPLEVEL is specified, FORMs are evaluated at compile
3305 time.  If ;LOAD-TOPLEVEL is specified, the compiler arranges so that
3306 FORMs be evaluated when the compiled code is loaded."
3307 DEFSETF
3308 "Syntax: (defsetf access-fun {update-fun [doc] |
3309                              lambda-list (store-var) {decl | doc}* {form}*)
3310 Defines how to SETF a generalized-variable reference of the form
3311 (ACCESS-FUN ...). (defsetf access-fun update-fun) defines an expansion
3312 from (setf (ACCESS-FUN arg1 ... argn) value) to (UPDATE-FUN arg1 ...
3313 argn value). (defsetf access-fun lambda-list (store-var) . body)
3314 defines a macro which expands (setf (ACCESS-FUN arg1 ... argn) value)
3315 into the form (let* ((temp1 ARG1) ... (tempn ARGn) (temp0 value))
3316 rest) where REST is the value of BODY with parameters in LAMBDA-LIST
3317 bound to the symbols TEMP1 ... TEMPn and with STORE-VAR bound to the
3318 symbol TEMP0."
3319 DOCUMENTATION
3320 "Args: (symbol doc-type)
3321 Returns SYMBOL documentation of type DOC-TYPE."
3322 PROVIDE
3323 "Args: (name)
3324 Adds NAME to the list of modules."
3325 REQUIRE
3326 "Args: (name)
3327 Loads module NAME, unless it has already been loaded. If PATH is supplied it
3328 is used as the file name; otherwise NAME is used. If file NAME is not in the
3329 current directory *default-path* is searched."
3330 PROBE-FILE
3331 "Args: (file)
3332 Returns the truename of file if the file exists.
3333 Returns NIL otherwise."
3334 MATRIXP
3335 "Args: (m)
3336 Returns T if M is a matrix, NIL otherwise."
3337 EQUALP
3338 "Args: (x y)
3339 Returns T if (equal x y), or x, y are numbers and (= x y), or
3340 x and y are strings and (string-equal x y)."
3341 Y-OR-N-P
3342 "Args: (&rest args)
3343 Prints STRING, if provided,  and reads an answer until an answer of Y or N
3344 is obtained. Returns T for Y, NIL for N."
3345 INCF
3346 "Syntax: (incf place [delta])
3347 Adds the number produced by DELTA (which defaults to 1) to the
3348 number in PLACE."
3349 DECF
3350 "Syntax: (decf place [delta])
3351 Subtracts the number produced by DELTA (which defaults to 1) from
3352 the number in PLACE."
3353 PUSH
3354 "Syntax: (push item place)
3355 Pushes ITEM onto list in generalized variable PLACE."
3357 "Syntax: (pop place)
3358 Pops one item off the front of the list in PLACE and returns it."
3359 PUSHNEW
3360 "Syntax: (push item place &key :test :test-not)
3361 Pushes ITEM onto PLACE if it is not already there."
3362 REMF
3363 "Syntax: (remf place indicator)
3364 PLACE may be any place expression acceptable to SETF, and is expected
3365 to hold a property list or NIL.  This list is destructively altered to
3366 remove the property specified by INDICATOR.  Returns T if such a
3367 property was present; NIL otherwise."
3368 ROTATEF
3369 "Syntax: (rotatef {place}*)
3370 Evaluates PLACEs in turn, then assigns to each PLACE the value of the form to
3371 its right.  The rightmost PLACE gets the value of the leftmost PLACE.
3372 Returns NIL always."
3373 WITH-INPUT-FROM-STRING
3374 "Syntax: (with-input-from-string (stream string) {form}*)
3375 Opens stream for reading from STRING, binds to STREAM and evaluates
3376 FORMs with this binding."
3377 WITH-OUTPUT-TO-STRING
3378 "Syntax: (with-output-to-string (stream) {form}*)
3379 Opens string output stream, binds to STREAM and evaluates FORMs with
3380 this binding. Returns output stream string."
3381 WITH-OPEN-FILE
3382 "Syntax: (with-open-file (stream filename {options}*) {form}*)
3383 Opens file stream for FILENAME with specified options, binds to 
3384 STREAM and evaluates FORMs with this binding. Closes stream regardless
3385 of errors."
3386 READ-FROM-STRING
3387 "Args: (string &optional (eof-error-p t) (eof-value nil)
3388                &key (start 0) (end (length string))
3389                     (preserve-whitespace nil))
3390 Reads an object from STRING."
3391 REALP
3392 "Args: (x)
3393 Returns true if X is a real number."
3394 PAIRLIS
3395 "Args: (keys data &optional (alist nil))
3396 Constructs an association list from KEYS and DATA adding to ALIST."
3397 COPY-ALIST
3398 "Args: (alist)
3399 Returns a new copy of ALIST."
3400 COPY-TREE
3401 "Args: (object)
3402 Recursively copies conses in OBJECT and returns the result."
3403 COPY-TREE
3404 "Args: (object)
3405 Recursively copies conses in OBJECT and returns the result."
3406 SIGNUM
3407 "Args: (number)
3408 If NUMBER is zero, returns NUMBER; else returns (/ NUMBER (ABS NUMBER)).
3409 Vectorized."
3410 FILL
3411 "Args: (sequence item &key (start 0) (end (length sequence)))
3412 Replaces the specified elements of SEQUENCE all with ITEM."
3413 REPLACE
3414 "Args: (sequence1 sequence2
3415         &key (start1 0) (end1 (length sequence1))
3416              (start2 0) (end2 (length sequence2)))
3417 Destructively modifies SEQUENCE1 by copying successive elements into it from
3418 SEQUENCE2."
3419 ACONS
3420 "Args: (key datum alist)
3421 Constructs a new alist by adding the pair (KEY . DATUM) to ALIST."
3422 SET-EXCLUSIVE-OR
3423 "Args: (list1 list2 &key (test #'eql) test-not (key #'identity))
3424 Returns a list of elements appearing exactly once in LIST1 and LIST2."
3425 NSET-EXCLUSIVE-OR
3426 "Args: (list1 list2 &key (test #'eql) test-not (key #'identity))
3427 Returns a list with elements which appear but once in LIST1 and LIST2."
3428 GET-MACRO-CHARACTER
3429 "Args: (char &optional (readtable *readtable*))
3430 Returns the function associated with CHAR and, as a second value,
3431 returns the non-terminating-p flag."
3432 SAVEFUN
3433 "Args: (fun)
3434 Save function definition of symbol FUN to file FUN.lsp."
3435 DEBUG
3436 "Args: ()
3437 Enable breaking on error on."
3438 NODEBUG
3439 "Args: ()
3440 Disable breaking on error on."
3441 DO-SYMBOLS
3442 "Syntax: (do-symbols (var [package [result-form]]) {decl}* {tag | statement}*)
3443 Executes STATEMENTs once for each symbol in the PACKAGE (which
3444 defaults to the current package), with VAR bound to the current
3445 symbol.  Then evaluates RESULT-FORM (which defaults to NIL) and
3446 returns the value(s)."
3447 DO-EXTERNAL-SYMBOLS
3448 "Syntax: (do-external-symbols (var [package [result-form]])
3449           {decl}* {tag | statement}*)
3450 Executes STATEMENTs once for each external symbol in the PACKAGE
3451 (which defaults to the current package), with VAR bound to the current
3452 symbol.  Then evaluates RESULT-FORM (which defaults to NIL) and
3453 returns the value(s)."
3454 DO-ALL-SYMBOLS
3455 "Syntax: (do-all-symbols (var [result-form]) {decl}* {tag | statement}*)
3456 Executes STATEMENTs once for each symbol in each package, with VAR
3457 bound to the current symbol.  Then evaluates RESULT-FORM (which
3458 defaults to NIL) and returns the value(s)."
3459 MULTIPLE-VALUE-LIST
3460 "Syntax: (multiple-value-list form)
3461 Evaluates FORM, and returns a list of multiple values it returned."
3462 MULTIPLE-VALUE-BIND
3463 "Syntax: (multiple-value-bind ({var}*) values-form {decl}* {form}*)
3464 Binds the VARiables to the results of VALUES-FORM, in order
3465 (defaulting to NIL) and evaluates FORMs in order."
3466 MULTIPLE-VALUE-SETQ
3467 "Syntax: (multiple-value-setq variables form)
3468 Sets each variable in the list VARIABLES to the corresponding value of
3469 FORM. Returns the value assigned to the first variable."
3470 DECLARE
3471 "Syntax: (declare {decl-spec}*)
3472 Gives a declaration."
3473 FINISH-OUTPUT
3474 "Args: (&optional (stream *standard-output*))
3475 Attempts to ensure that all output sent to STREAM has reached its
3476 destination, and only then returns."
3477 CLEAR-OUTPUT
3478 "Args: (&optional (stream *standard-output*))
3479 Clears the output stream STREAM."
3480 PRIN1-TO-STRING
3481 "Args: (object)
3482 Returns as a string the printed representation of OBJECT in the mostly
3483 readable representation. Equivalent to (WRITE-TO-STRING OBJECT :ESCAPE T)."
3484 PRINC-TO-STRING
3485 "Args: (object)
3486 Returns as a string the printed representation of OBJECT without escape
3487 characters.  Equivalent to (WRITE-TO-STRING OBJECT :ESCAPE NIL)."
3488 KEYWORDP
3489 "Args: (x)
3490 Returns T if X is a symbol and it belongs to the KEYWORD package; NIL
3491 otherwise."
3492 NRECONC
3493 "Args: (x y)
3494 Equivalent to (NCONC (NREVERSE X) Y)."
3495 DESCRIBE
3496 "Args: (x)
3497 Prints a description of the object X."
3498 GET-PROPERTIES
3499 "Args: (place indicator-list)
3500 Looks for the elements of INDICATOR-LIST in the property list stored in PLACE.
3501 If found, returns the indicator, the value, and T as multiple-values.  If not,
3502 returns NILs as its three values."
3503 PARSE-INTEGER
3504 "Args: (string
3505        &key (start 0) (end (length string)) (radix 10) (junk-allowed nil))
3506 Parses STRING for an integer and returns it."
3507 COMPILED-FUNCTION-P
3508 "Args: (x)
3509 Returns T if X is a SUBR or byte-compiled function; NIL otherwise."
3510 GENTEMP
3511 "Args: (&optional (prefix \"t\") (package *package*))
3512 Creates a new symbol interned in the package PACKAGE with the given PREFIX."
3513 BIT-VECTOR-P
3514 "Args: (x)
3515 Returns T if X is a bit vector; NIL otherwise."
3516 SCHAR
3517 "Args: (simple-string index)
3518 Returns the character object representing the INDEX-th character in
3519 STRING.  This is faster than CHAR."
3520 SET-MACRO-CHARACTER
3521 "Args: (char function
3522        &optional (non-terminating-p nil) (readtable *readtable*))
3523 Causes CHAR to be a macro character that, when seen by READ, causes
3524 FUNCTION to be called."
3525 SEVENTH
3526 "Args: (x)
3527 Equivalent to (CADDR (CDDDDR X))."
3528 SIXTH
3529 "Args: (x)
3530 Equivalent to (CADR (CDDDDR X))."
3531 SVREF
3532 "Args: (simple-vector index)
3533 Returns the INDEX-th element of SIMPLE-VECTOR."
3534 SYMBOL-PACKAGE
3535 "Args: (symbol)
3536 Returns the contents of the package cell of the symbol SYMBOL."
3537 TENTH
3538 "Args: (x)
3539 Equivalent to (CADR (CDDDDR (CDDDDR X)))."
3540 UNEXPORT
3541 "Args: (symbols &optional (package *package*))
3542 Makes SYMBOLS no longer accessible as external symbols in PACKAGE.
3543 SYMBOLS must be a list of symbols or a symbol."
3544 UNINTERN
3545 "Args: (symbol &optional (package *package*))
3546 Makes SYMBOL no longer present in PACKAGE.  Returns T if SYMBOL was
3547 present; NIL otherwise.  If PACKAGE is the home package of SYMBOL,
3548 then makes SYMBOL uninterned."
3549 UNUSE-PACKAGE
3550 "Args: (packages-to-unuse &optional (package *package*))
3551 Removes PACKAGES-TO-UNUSE from the use list for PACKAGE."
3552 USE-PACKAGE
3553 "Args: (packages-to-use &optional (package *package*))
3554 Adds all packages in PACKAGE-TO-USE list to the use list for PACKAGE
3555 so that the external symbols of the used packages are available as
3556 internal symbols in PACKAGE."
3557 VALUES
3558 "Args: (&rest args)
3559 Returns ARGs in order, as values."
3560 VALUES-LIST
3561 "Args: (list)
3562 Returns all of the elements of LIST in order, as values."
3563 VECTORP
3564 "Args: (x)
3565 Returns T if X is a vector; NIL otherwise."
3566 WITH-OPEN-STREAM
3567 "Syntax: (with-open-stream (var stream) {decl}* {form}*)
3568 Evaluates FORMs as a PROGN with VAR bound to the value of STREAM.  The stream
3569 is automatically closed on exit."
3570 WRITE
3571 "Args: (object &key (stream *standard-output*) (escape *print-escape*)
3572                    (radix *print-radix*) (base *print-base*)
3573                    (circle *print-circle*) (pretty *print-pretty*)
3574                    (level *print-level*) (length *print-length*)
3575                    (case *print-case*) (array *print-array*)
3576                    (gensym *print-gensym*))
3577 Prints OBJECT in the specified mode.  See the variable docs of *PRINT-...*
3578 for the mode."
3579 WRITE-LINE
3580 "Args: (string &optional (stream *standard-output*)
3581               &key (start 0) (end (length string)))
3582 Outputs STRING and then outputs a newline character.  Returns STRING."
3583 WRITE-STRING
3584 "Args: (string &optional (stream *standard-output*)
3585               &key (start 0) (end (length string)))
3586 Outputs STRING and returns it."
3587 WRITE-TO-STRING
3588 "Args: (object &key (escape *print-escape*) (radix *print-radix*)
3589                    (base *print-base*) (circle *print-circle*)
3590                    (pretty *print-pretty*) (level *print-level*)
3591                    (length *print-length*) (case *print-case*)
3592                    (array *print-array*) (gensym *print-gensym*))
3593 Returns as a string the printed representation of OBJECT in the
3594 specified mode.  See the variable docs of *PRINT-...* for the mode."
3595 CCASE
3596 "Syntax: (ccase keyplace {({key | ({key}*)} {form}*)}*)
3597 Evaluates KEYPLACE and tries to find the KEY that is EQL to the value of
3598 KEYPLACE.  If one is found, then evaluates FORMs that follow the KEY and
3599 returns the value(s) of the last FORM.  If not, signals a correctable
3600 TYPE-ERROR and establishes a STORE-VALUE restart."
3601 CHECK-TYPE
3602 "Syntax: (check-type place typespec [string])
3603 Signals a continuable TYPE-ERROR and establishes a STORE-VALUE restart
3604 if the contents of PLACE are not of the specified type."
3605 CTYPECASE
3606 "Syntax: (ctypecase keyplace {(type {form}*)}*)
3607 Evaluates KEYPLACE and tries to find the TYPE in which the value of
3608 KEYPLACE belongs.  If one is found, then evaluates FORMs that follow
3609 the KEY and returns the value(s) of the last FORM.  If not, signals a
3610 correctable TYPE-ERROR and establishes a STORE-VALUE restart."
3611 ECASE
3612 "Syntax: (ecase keyform {({key | ({key}*)} {form}*)}*)
3613 Evaluates KEYFORM and tries to find the KEY that is EQL to the value of
3614 KEYFORM.  If one is found, then evaluates FORMs that follow the KEY and
3615 returns the value(s) of the last FORM.  If not, signals a TYPE-ERROR."
3616 ETYPECASE
3617 "Syntax: (etypecase keyform {(type {form}*)}*)
3618 Evaluates KEYFORM and tries to find the TYPE in which the value of
3619 KEYFORM belongs.  If one is found, then evaluates FORMs that follow
3620 the KEY and returns the value(s) of the last FORM.  If not, signals a
3621 TYPE-ERROR."
3622 TYPECASE
3623 "Syntax: (typecase keyform {(type {form}*)}*)
3624 Evaluates KEYFORM and tries to find the TYPE in which the value of
3625 KEYFORM belongs.  If one is found, then evaluates FORMs that follow
3626 the KEY and returns the value of the last FORM.  If not, simply
3627 returns NIL."
3628 STEP
3629 "Syntax: (step form)
3630 Evaluates FORM in the single-step mode and returns the value."
3631 SIGNAL
3632 "Args: (datum &rest args)
3633 Signals a condition. If DATUM is a string, it is used with ARGS to
3634 construct a SIMPLE-CONDITION. If DATUM is a symbol, it is used with
3635 ARGS to make a condition. If it is a condition, the ARGS must be
3636 empty. Returns NIL if the condition is not handled."
3637 WARN
3638 "Args: (datum &rest args)
3639 Signals a condition of type WARNING. If DATUM is a string, it is used
3640 with ARGS to construct a SIMPLE-WARNING. If DATUM is a symbol, it is
3641 used with ARGS to make a condition. If it is a condition, the ARGS
3642 must be empty. Returns NIL if the condition is not handled."
3643 PROCLAIM
3644 "Args: (decl-spec)
3645 Puts the declaration given by DECL-SPEC into effect globally."
3646 BREAK
3647 "Args: (&optional (format-string nil) &rest args)
3648 Enters a break loop.  If FORMAT-STRING is non-NIL, formats FORMAT-STRING
3649 and ARGS to *ERROR-OUTPUT* before entering a break loop."
3650 ASSERT
3651 "Syntax: (assert test-form [({place}*) [datum {arg}*]])
3652 Signals an error if the value of TEST-FORM is NIL.  DATUM is a format
3653 string, a condition type, or a condition."
3654 COMPILE
3655 "Args: (name &optional (definition nil) &key (leave-gazonk nil))
3656 If DEFINITION is NIL, NAME must be the name of a not-yet-compiled
3657 function.  Then COMPILE compiles the function, installs it as the
3658 global function definition of NAME, and returns NAME.  If DEFINITION
3659 is non-NIL, it must be a lambda expression and NAME must be a symbol.
3660 COMPILE compiles the lambda expression, installs is as the function
3661 definition of NAME if name is not NIL, and returns NAME, if not NIL,
3662 or the compiled function if NAME is NIL."
3663 COMPILE-FILE
3664 "Args: (input-pathname
3665        &key output-file (load nil) (print *compile-print*)
3666             (verbose *compile-verbose*))
3667 Compiles the file specified by INPUT-PATHNAME and generates a .fsl
3668 file specified by OUTPUT-FILE.  If the filetype is not specified in
3669 INPUT-PATHNAME, then .lsp is used as the default file type for the
3670 source file.  :LOAD specifies whether to load the generated fasl file
3671 after compilation.  A non-NIL value of :VERBODE allows information
3672 about the file being compiled to be printed. A non-NIL value of :PRINT
3673 allows forces the compiler to indicate the form currently being
3674 compiled."
3675 DELETE-PACKAGE
3676 "Args: (package)
3677 Deletes package from package system data structures."
3678 DEFPACKAGE 
3679 "Syntax: (defpackage name {option*})
3680 Options are: (:size n) (:nicknames {name}*) (:shadow {name}*)
3681              (:use {name}*) (:import-from {name}*) (:intern {name}*)
3682              (:export {name}*)
3683 Makes or modifies package to satisfy options."
3684 HASH-TABLE-REHASH-SIZE
3685 "Args: (table)
3686 Returns amount to increase table by on rehash."
3687 HASH-TABLE-REHASH-THRESHOLD 
3688 "Args: (table)
3689 Returns level at which to rehash."
3690 HASH-TABLE-SIZE
3691 "Args: (table)
3692 Returns current table size."
3693 HASH-TABLE-TEST
3694 "Args: (table)
3695 Returns hash table test."
3696 NTH-VALUE
3697 "Syntax: (nth-value n form)
3698 Returns N-th value produced by FORM, or NIL if there are fewer values."
3699 IGNORE-ERRORS
3700 "Syntax (ignore-errors {form}*)
3701 Execues FORMS and returns values of final form if there are no errors.
3702 If there are errors, returns values NIL and the error condition."
3703 SAVE-WORKSPACE
3704 "Args: (name)
3705 Saves current workspace in NAME and exits. Gives NAME a .wks extension if
3706 not supplied."
3707 ABORT
3708 "Args: (&optional condition)
3709 Invokes ABORT restart associated with CONDITION."
3710 MUFFLE-WARNING
3711 "Args: (&optional condition)
3712 Invokes MUFFLE-WARNING restart associated with CONDITION."
3713 STORE-VALUE 
3714 "Args: (value &optional condition)
3715 Invokes STORE-VALUE restart associated with CONDITION."
3716 USE-VALUE 
3717 "Args: (value &optional condition)
3718 Invokes STORE-VALUE restart associated with CONDITION."
3719 TOP-LEVEL-LOOP
3720 "Args: ()
3721 Standard top level loop."
3722 DEFSTRUCT
3723 "Syntax: (defstruct
3724          {name | (name {(:conc-name prefix-string) |
3725                         (:constructor symbol) |
3726                         (:predicate symbol) | 
3727                         (:include symbol) |
3728                         (:print-function function)}*)}
3729          [doc]
3730          {slot-name | (slot-name [default-value-form]) }*)
3731 Defines a structure.  The doc-string DOC, if supplied, is saved as a
3732 STRUCTURE doc and can be retrieved by (documentation 'NAME
3733 'structure)."
3734 WITH-SIMPLE-RESTART
3735 "Syntax: (with-simple-restart (name string {arg}*) {form}*)
3736 Establishes restart NAME with report made from format string STRING
3737 and ARG's, and executes FORM's. Returns values of final forms or he
3738 values NIL and T if the restart is invoked."
3739 DEFINE-CONDITION
3740 "Syntax: (define-condition name ({parent}*) [({slotspec}*) {option}*])
3741 Defines a new restart type NAME. There must be zero or one parents."
3742 COMPUTE-RESTARTS
3743 "Args: (&optional condition)
3744 Returns list of all current restarts associated with CONDITION, with
3745 more recently established restarts first."
3746 FIND-RESTART
3747 "Args: (name &optional condition)
3748 Returns most recent restart NAME associated with CONDITION, or NIL if
3749 none is found."
3750 PCLOSE 
3751 "Syntax: (pclose stream)
3752 Closes STREAM opened with POPEN. Returns T if the command executed
3753 successfully, otherwise, returns the exit status of the opened
3754 command."
3755 POPEN 
3756 "(Syntax: (popen command :direction (direction :input))
3757 Sends COMMAND to a subshell and, if the process is started
3758 successfully, returns a stream of direction DIRECTION, which can be
3759 either :input (to read from the pipe) or :output (to write to the
3760 pipe). NIL is returned files or processes couldn't be created. The
3761 success of the command execution can be checked by examining the
3762 return value of pclose."
3763 MAP-INTO
3764 "Args: (result function sequence &rest more-sequences)
3765 FUNCTION must take as many arguments as there are sequences provided.
3766 RESULT must be the a sequence.  The FUNCTION is applied elementwise
3767 to the arguments and the values are stored i RESULT."
3768 FUNCTION-LAMBDA-EXPRESSION 
3769 "Args: (fcn)
3770 Returns three values for the function FCN: The function's lambda
3771 expression, or NIL if not available, NIL if the function was defined
3772 in the null environment, T otherwise, and the name of the function, if
3773 available, or NIL."
3774 DESTRUCTURING-BIND 
3775 "Syntax: (destructuring-bind lambda-list expr {declaration}* {form}*)
3776 Binds variables in LAMBDA-LIST to corresponding values in tree from
3777 evaluating EXPR and evaluates FORM's in the resulting environment.
3778 Entries in lambda-list may be variable names or other lambda lists."
3779 COMPLEMENT
3780 "Args: (fcn)
3781 Returns function whose value is NOT applied to result of evaluating FCN
3782 to the same arguments."
3783 INVOKE-DEBUGGER
3784 "Args (condition)
3785 Attempts to handle condition interactively."
3786 INVOKE-RESTART
3787 "Args: (restart &rest args)
3788 Invokes RESTART with ARGS, or signals an error if RESTART is not valid."
3789 INVOKE-RESTART-INTERACTIVELY
3790 "Args: (restart)
3791 Prompts for any necessary arguments using RESTART's interacctive function
3792 and invokes RESTART, or signals an error if RESTART is not valid."
3793 MAKE-CONDITION
3794 "Args: (type &rest slot-ints)
3795 Creates and returns TYPE condition initializes using SLOT-INITS."
3796 HANDLER-BIND 
3797 "Syntax: (handler-bind ({(typespec handler)}*) {forms}*)
3798 Evaluates FORM's with HANDLER's established for TYPESPEC conditions.
3799 HANDLER's should evaluate to functions of one argument, the condition."
3800 HANDLER-CASE
3801 "Syntax: (handler-case expr {(typespec ([var]) {form}*)}*)
3802 Execute EXPR with handlers satisfying TYPESPEC's established. If
3803 handler is called, VAR is bound to condition and FORM's are executed."
3804 RESTART-BIND
3805 "Syntax: (restart-bind ({(name function {keyword value}*)}*) {form}*)
3806 Executes FORM's with restart FUNCTION's for NAME's. Keywords can be
3807 :TEST-FUNCTION, :INTERACTIVE-FUNCTION, and :REPORT-FUNCTION."
3808 RESTART-CASE
3809 "Syntax: (restart-case expr {(name arglist {keyword value}* {form}*)}*)
3810 Execute EXPR with restarts NAME's that execute FORM's when called.
3811 Keywords can be :TEST, :INTERACTIVE, and :REPORT."
3812 DEFTYPE
3813 "Syntax: (deftype name lambda-list {decl | doc}* {form}*)
3814 Defines a new type-specifier abbreviation in terms of an 'expansion'
3815 function (lambda lambda-list1 {decl}* {form}*) where lambda-list1 is
3816 identical to LAMBDA-LIST except that all optional parameters with no
3817 default value in LAMBDA-LIST default to the symbol '*'.  When the type
3818 system encounters a type specifier (NAME arg1 ... argn), it calls the
3819 expansion function with the arguments arg1 ... argn, and uses the
3820 returned value instead of the original type specifier.  When the
3821 symbol NAME is used as a type specifier, the expansion function is
3822 called with no argument."
3823 NAMESTRING
3824 "Args: (pathname)
3825 Returns the full form of PATHNAME as a string."
3826 FILE-NAMESTRING
3827 "Args: (pathname)
3828 Returns the name (with type) of PATHNAME as a string."
3829 DIRECTORY-NAMESTRING
3830 "Args: (pathname)
3831 Returns the directory part of PATHNAME as a string."
3832 PATHNAME
3833 "Args: (x)
3834 Turns X into a pathname.  X may be a string, stream, or pathname."
3835 PATHNAME-HOST
3836 "Args: (pathname)
3837 Returns the host slot of PATHNAME."
3838 PATHNAME-DEVICE
3839 "Args: (pathname)
3840 Returns the device slot of PATHNAME."
3841 PATHNAME-VERSION
3842 "Args: (pathname)
3843 Returns the version slot of PATHNAME."
3844 PARSE-NAMESTRING
3845 "Args: (thing &optional host (defaults *default-pathname-defaults*)
3846              &key (start 0) (end (length thing)) (junk-allowed nil))
3847 Parses a string representation of a pathname into a pathname."
3848 PATHNAME-DIRECTORY
3849 "Args: (pathname)
3850 Returns the directory slot of PATHNAME."
3851 PATHNAME-NAME
3852 "Args: (pathname)
3853 Returns the name slot of PATHNAME."
3854 PATHNAME-TYPE
3855 "Args: (pathname)
3856 Returns the type slot of PATHNAME."
3857 MAKE-PATHNAME
3858 "Args: (&key (defaults (parse-namestring \"\"
3859                         (pathname-host *default-pathname-defaults*)))
3860             (host (pathname-host defaults))
3861             (device (pathname-device defaults))
3862             (directory (pathname-directory defaults))
3863             (name (pathname-name defaults))
3864             (type (pathname-type defaults))
3865             (version (pathname-version defaults)))
3866 Create a pathname from HOST, DEVICE, DIRECTORY, NAME, TYPE and VERSION."
3867 MERGE-PATHNAMES
3868 "Args: (pathname
3869        &optional (defaults *default-pathname-defaults*) default-version)
3870 Fills in unspecified slots of PATHNAME from DEFAULTS.  DEFAULT-VERSION
3871 is ignored in KCL."
3872 RENAME-FILE
3873 "Args: (file new-name)
3874 Renames the file FILE to NEW-NAME.  FILE may be a string, a pathname, or
3875 a stream."
3876 FILE-WRITE-DATE
3877 "Args: (file)
3878 Returns the time at which the specified file is written, as an integer in
3879 universal time format.  FILE may be a string or a stream."
3880 SET-WORKING-DIRECTORY
3881 "Args: (directory)
3882 Sets working directory to directory specified in string DIRECTORY. Returns
3883 true if successful, NIL if not."
3884 GET-WORKING-DIRECTORY
3885 "Args: ()
3886 Returns string naming current working directory, or NIL if working directory
3887 can't be determined."
3888 DIRECTORY
3889 "Args: (pathname &key all)
3890 Returns a list of files that match PATHNAME. If :ALL is true, all files
3891 and directories are listed; otherwise only regular files are listed."
3892 (*USE-NOTIFIER* VARIABLE)
3893 "Whether to use the notifier when asking for input while in background."
3894 LAUNCH-APPLICATION
3895 "Args: (name-or-sig &optional (foreground t))
3896 Launches process using pathname or signature code NAME-OR-ID. New process
3897 is made front process if FOREGROUND is not NIL. Returns process info if
3898 successful, NIL otherwise."
3899 ENCODE-SIGNATURE
3900 "Args: (sigstring)
3901 Converts four-character signature string to signature code."
3902 GET-PROCESS-LIST
3903 "Args: ()
3904 Returns list of process info records for active processes."
3905 GET-FRONT-PROCESS
3906 "Args: ()
3907 Returns process info for front process."
3908 SET-FRONT-PROCESS
3909 "Args: (process)
3910 Sent front process. PROCESS can be a process name, signature, or process
3911 info record."
3912 SEND-APPLE-EVENT
3913 "Args: (class type address &key :data :wait-reply :timeout
3914                                 :can-switch-layer)
3915 Send an apple event to another application.CLASS and TYPE are
3916 four-character strings specifying event class ans type. Address is t
3917 for the current process, a process name, a signature code, a process
3918 information record, or a target information record."
3919 BROWSE-APPLE-EVENT-TARGETS
3920 "Args: (&key :prompt :application-list-label (:type \"PPCToolBox\")
3921             :name :signature
3922 Puts up a dialog for selecting the target for an apple event. Returns a
3923 target information record, or NIL if cancelled. Specifying NAME or
3924 SIGNATUE restricts the applications shown to ones with the specified
3925 name or signature."
3926 GET-APPLE-EVENT-TARGET-LIST
3927 "Args: (&key :object :type :zone)
3928 Return list of apple event target information records for specified
3929 machine. Default is the local machine. OBJECT is an alternate machine
3930 name, ZONE specifies an alternate AppleTalk zone.
3931 GET-APPLE-EVENT-TARGET
3932 Args: (name-or-sig &key :object :type :zone)
3933 Returns a single target, or \NIL\ if none is found. NAME-OR-SIG is a
3934 name string or signature code for a running application. OBJECT is an
3935 alternate machine name, ZONE specifies an alternate AppleTalk zone."
3936 COPY-STRUCTURE
3937 "Args: (STRUCTURE)
3938 Returns a copy of the structure."
3939 COPY-SYMBOL
3940 "Args: (symbol &optional (copy-props nil))
3941 Returns a new uninterned symbol with the same print name as SYMBOL.
3942 If COPY-PROPS is false, the new symbol is neither bound nor fbound and
3943 has a null property list. If COPY-PROPS is true, then the initial
3944 value of the new symbol is the value of SYMBOL, the initial function
3945 definition of the new symbol is the functional value of SYMBOL, and
3946 the property list of the new symbol is a copy of the property list of
3947 SYMBOL."
3948 TAILP
3949 "Args: (sublist list)
3950 Returns T if SUBLIST is one of the conses in LIST; NIL otherwise."
3951 LDIFF
3952 "Args: (list sublist)
3953 Returns a new list, whose elements are those of LIST that appear before
3954 SUBLIST.  If SUBLIST is not a tail of LIST, a copy of LIST is returned."
3955 MEMBER-IF
3956 "Args: (test list &key (key #'identity))
3957 Returns the tail of LIST beginning with the first element satisfying TEST."
3958 GET-DECODED-TIME
3959 "Args: ()
3960 Returns the current time in decoded time format.  Returns nine values:
3961 second, minute, hour, date, month, year, day-of-week,
3962 daylight-saving-time-p, and time-zone."