;; The Manual and its Contents ;; Ingredients, taken from Xlisp-Plus 2.1f Manual (def %cloops% (list "Xlisp Command Loop" "*startup-functions*" "*load-file-arguments*" "*dos-input*")) (def %bloops% (list "Break Command Loop" "*breakenable*" "*tracenable*")) (def %dtypes% (list "Data Types")) (def %evalu% (list "The Evaluator")) (def %hook% (list "Hooks" "evalhook" "applyhook" "*evalhook*" "*applyhook*" "*gc-hook*")) (def %lexical% (list "Lexical Conventions")) (def %readtab% (list "Readtables" ":white-space" ":tmacro" ":nmacro" ":sescape" ":mescape" ":constituent")) (def %casecont% (list "Symbol Case Control" "*readtable-case*" "*print-case*")) (def %package% (list "Packages")) (def %lambda% (list "Lambda Lists" "&optional" "&rest" "&key" "&allow-other-keys" "&aux" "&whole" "&environment" "&body")) (def %objects% (list "Objects" "class" "object" "self" ":answer" ":class" ":isnew" ":new" ":show")) ;;(def %mikintro% ;; (list "Introduction")) (def %eval% (list "eval" "apply" "funcall" "quote" "function" "complement" "identity" "backquote" "comma" "comma-at" "lambda" "get-lambda-expression" "macroexpand" "macroexpand-1")) (def %mulval% (list "multiple-value-bind" "multiple-value-call" "multiple-value-list" "multiple-value-prog1" "multiple-value-setq" "nth-value" "values" "values-list")) (def %symbol% (list "set" "setq" "psetq" "setf" "psetf" "defsetf" "push" "pushnew" "pop" "incf" "decf" "defun" "defmacro" "gensym" "intern" "make-symbol" "symbol-name" "symbol-value" "symbol-function" "symbol-plist" "hash" "makunbound" "fmakunbound" "unintern" "defconstant" "defparameter" "defvar" "mark-as-special" "declare" "proclaim")) (def %pack% (list "apropos" "apropos-list" "defpackage" "delete-package" "do-symbols" "do-external-symbols" "do-all-symbols" "export" "find-all-symbols" "find-package" "find-symbol" "import" "in-package" "list-all-packages" "make-package" "package-name" "package-nicknames" "package-obarray" "package-shadowing-symbols" "package-use-list" "package-used-by-list" "package-valid-p" "rename-package" "shadow" "shadowing-import" "symbol-package" "unexport" "unuse-package" "use-package")) (def %prop% (list "get" "getf" "putprop" "remf" "remprop")) (def %hash% (list "make-hash-table" "gethash" "remhash" "clrhash" "hash" "maphash")) (def %array% (list "aref" "make-array" "vector")) (def %sequence% (list "concatenate" "elt" "map" "map-into" "every" "notevery" "some" "notany" "length" "reverse" "nreverse" "subseq" "sort" "search" "remove" "remove-if" "remove-if-not" "count" "count-if" "count-if-not" "find" "find-if" "find-if-not" "position" "position-if" "position-if-not" "delete" "delete-if" "delete-if-not" "reduce" "remove-duplicates" "fill" "replace")) (def %list% (list "car" "ca.r" "ca..r" "ca...r" "cdr" "cd.r" "cd..r" "cd...r" "first" "second" "third" "fourth" "rest" "cons" "acons" "list" "list*" "append" "list-length" "last" "butlast" "nth" "nthcdr" "member" "assoc" "adjoin" "mapc" "mapcar" "mapl" "maplist" "mapcan" "mapcon" "subst" "nsubst" "sublis" "nsublis" "pairlis" "copy-list" "copy-alist" "copy-tree" "intersection" "union" "set-difference" "set-exclusive-or" "nintersection" "nunion" "nset-difference" "nset-exclusive-or")) (def %destruct% (list "rplaca" "rplacd" "nconc" "nsubst-if" "nsubst-if-not")) (def %arith% (list "Intro" "+" "-" "*" "/" "1+" "1-" "log" "exp" "expt" "sin" "cos" "atan" "asin" "acos" "sinh" "cosh" "tanh" "asinh" "acosh" "atanh" "cis" "<" "<=" "=" "/=" ">=" ">" "rem" "mod" "min" "max" "abs" "signum" "gcd" "lcm" "sqrt" "random" "make-random-state" "truncate" "round" "floor" "ceiling" "float" "rational" "complex" "realpart" "imagpart" "conjugate" "phase" "numerator" "denominator")) (def %logic% (list "logand" "logior" "logxor" "lognot" "logtest" "ash")) (def %string% (list "string" "string-trim" "string-left-trim" "string-right-trim" "string-upcase" "string-downcase" "string-capitalize" "nstring-upcase" "nstring-downcase" "nstring-capitalize" "strcat" "string<" "string<=" "string=" "string/=" "string>" "string>=" "string-lessp" "string-greaterp" "string-not-equal" "string-not-greaterp" "string-not-lessp")) (def %character% (list "char" "alphanumericp" "upper-case-p" "lower-case-p" "alpha-char-p" "both-case-p" "digit-char-p" "code-char" "char-code" "char-upcase" "char-downcase" "digit-char" "char-int" "int-char" "char<" "char<=" "char/=" "char=" "char>=" "char>" "char-lessp" "char-equal" "char-greaterp" "char-not-greaterp" "char-not-lessp")) (def %structure% (list "defstruct")) (def %object% (list "send" "send-super" "defclass" "defmethod" "definst")) (def %predicate% (list "atom" "symbolp" "numberp" "null" "not" "listp" "endp" "consp" "constantp" "specialp" "integerp" "floatp" "rationalp" "complexp" "stringp" "characterp" "arrayp" "streamp" "open-stream-p" "input-stream-p" "output-stream-p" "objectp" "classp" "boundp" "fboundp" "minusp" "plusp" "zerop" "evenp" "oddp" "susetp" "eq" "eql" "equal" "equalp" "typep")) (def %control% (list "cond" "and" "or" "if" "when" "unless" "case" "let" "let*" "flet" "labels" "macrolet" "catch" "throw" "unwind-protect")) (def %looping% (list "loop" "do" "do*" "dolist" "dotimes")) (def %program% (list "prog" "prog*" "block" "return" "return-from" "tagbody" "go" "progv" "prog1" "prog2" "progn")) (def %iofunc% (list "set-macro-character" "get-macro-character" "read" "print" "prin1" "princ" "pprint" "terpri" "fresh-line" "flatsize" "flatc" "y-or-n-p" "format")) (def %fileio% (list "Intro" "read-char" "peek-char" "write-char" "read-line" "open" "close" "delete-file" "truename" "with-open-file" "read-byte" "write-byte" "file-length" "file-position")) (def %strstr% (list "make-string-input-stream" "make-string-output-stream" "get-output-stream-string" "get-output-stream-list" "with-input-from-string" "with-output-to-string")) (def %debug% (list "trace" "untrace" "error" "cerror" "break" "clean-up" "top-level" "continue" "errset" "baktrace" "evalhook" "applyhook" "debug" "nodebug")) (def %system% (list "load" "restore" "save" "savefun" "dribble" "gc" "expand" "alloc" "room" "time" "get-internal-real-time" "get-internal-run-time" "coerce" "type-of" "peek" "poke" "address-of" "get-key" "system" "set-stack-mark" "top-level-loop" "reset-system" "exit" "generic" "eval-when")) ;;; Variables (def %reader% (list "+" "++" "+++" "*" "**" "***" "-")) (def %constants% (list "nil" "t" "internal-time-units-per-second" "pi")) (def %specvar% (list "*obarray*" "*package*" "*terminal-io*" "*standard-input*" "*standard-output*" "*error-output*" "*trace-output*" "*applyhook*" "*debug-io*" "*breakenable*" "*tracelist*" "*traceenable*" "*tracelimit*" "*evalhook*" "*applyhook*" "*readtable*" "*gc-flag*" "*gc-hook*" "*integer-format*" "*ratio-format*" "*float-format*" "*readtable-case*" "*print-case*" "*print-level*" "*print-length*" "*dos-input*" "*displace-macros*" "*random-state*" "*features*" "*startup-functions*" "*command-line*" "*load-file-arguments*" "*top-level-loop*" "*read-surpress*")) (def %protos% (list "*object*" "hardware-object-proto" "window-proto" "edit-window-proto" "listener-proto" "menu-proto" "apple-menu-proto" "menu-item-proto" "dialog-proto" "dialog-item-proto" "button-item-proto" "toggle-item-proto" "text-item-proto" "choice-item-proto" "scroll-item-proto" "list-item-proto" "graph-window-proto" "graph-proto" "spin-proto" "scatmat-proto" "name-list-proto" "histogram-proto" "scatterplot-proto" "compound-data-proto")) (def %ttypes% (list "subr" "fsubr" "cons" "symbol" "fixnum" "flonum" "string" "object" "file-stream" "vector" "closure" "character" "unnamed-stream" "complex" "array")) (def %keywords% (list "&optional" "&rest" "&key" "&allow-other-keys" "&aux" "&whole" "&environment" "&body" ":white-space" ":tmacro" ":nmacro" ":sescape" ":mesecape" ":constituent")) ;;; Statistics ;;(def %datcrea% ;; (list "iseq" "rseq")) ;;(def %descrip% ;; (list "mean" "standard-deviation")) ;;(def %distrib% ;; (list "normal-rand" "normal-cdf" "normal-dens")) ;;; the parts and their chapters ;;(def %ingrets% ;;(list ;; (list "Xlisp Command Loop" %cloops% ) ;; (list "Break Command Loop" %bloops% ) ;; (list "Data Types" %dtypes% ) ;; (list "The Evaluator" %evalu% ) ;; (list "Hooks" %hook% ) ;; (list "Lexical Conventions" %lexical% ) ;; (list "Readtables" %readtab% ) ;; (list "Symbol Case Control" %casecont% ) ;; (list "Packages" %package% ) ;; (list "Lambda Lists" %lambda% ) ;; (list "Objects" %objects% ) ;;)) (def %functions% (list ;(list "Introduction" %mikintro% ) (list "Evaluation Functions" %eval% ) (list "Multiple Value Functions" %mulval% ) (list "Symbol Functions" %symbol% ) (list "Package Functions" %pack% ) (list "Property List Functions" %prop% ) (list "Hash Table Function" %hash% ) (list "Array Functions" %array% ) (list "Sequence Functions" %sequence% ) (list "List Functions" %list% ) (list "Destructive List Functions" %destruct% ) (list "Arithmetic Functions" %arith% ) (list "Bitwise Logical Functions" %logic% ) (list "String Functions" %string% ) (list "Character Functions" %character%) (list "Structure Functions" %structure%) (list "Object Functions" %object% ) (list "Predicate Functions" %predicate%) (list "Control Constructs" %control% ) (list "Looping Constructs" %looping% ) (list "The Program Feature" %program% ) (list "Input/Output Functions" %iofunc% ) (list "File I/O Functions" %fileio% ) (list "String Stream Functions" %strstr% ) (list "Debugging and Error Handling Functions" %debug% ) (list "System Functions" %system% ) )) (def %variables% (list (list "Reader Variables" %reader% ) (list "Constants" %constants%) (list "System Variables" %specvar% ) (list "Prototypes" %protos% ) (list "Types" %ttypes% ) (list "Keywords" %keywords% ) )) (def %messages% nil) ;;(def %statist% ;;(list ;; (list "Data Creation" %datcrea% ) ;; (list "Descriptive Statistics" %descrip% ) ;; (list "Distributions" %distrib% ) ;;)) ;;; the manual and its parts (def %manual% (list "Manual" (list ;(list "Introduction" %intro% ) ;(list "Tutorial" %tutor% ) ;(list "Ingredients" %ingrets% ) (list "Variables and Types" %variables%) (list "Functions" %functions%) (list "Message Selectors" %messages% ) ;(list "Statistics" %statist% ) ;(list "Graphics" %graphics% ) ;(list "Various Add-ons" %add-ons% ) )))