#|
(defun method-info (m) (list (METHOD-QUALIFIERS m)(closer-mop:METHOD-LAMBDA-LIST m) (closer-mop:METHOD-SPECIALIZERS m)(closer-mop:METHOD-FUNCTION m) ;; (closer-mop:ACCESSOR-METHOD-SLOT-DEFINITION m) (DOCUMENTATION 'STANDARD-METHOD m)))
(closer-mop:METHOD-LAMBDA-LIST m) (closer-mop:METHOD-SPECIALIZERS m)(closer-mop:METHOD-FUNCTION m) ;; (closer-mop:ACCESSOR-METHOD-SLOT-DEFINITION m) (DOCUMENTATION 'STANDARD-METHOD m)))
|#
;;(quicklisp-quickstart:install)
#+clisp
(progn
(load "asdf/build/asdf.lisp")
(load "~/quicklisp/setup.lisp")
(load "quicklisp.lisp"))
(ql:quickload "closer-mop")
(defun set-last-cdr (list ele) (let ((tail (cdr list))) (if (null tail) (rplacd list ele) (set-last-cdr tail ele))))
(defun push-non-nil (info default prop value) (unless (equal value default) (set-last-cdr info (list (list prop value)))))
(defun slot-info (m) (let ((def (list (list :name (closer-mop:slot-definition-name m)))))
(incf *slotno*)
(push-non-nil def :always :ordinal *slotno*)
(push-non-nil def :instance :allocation (closer-mop:slot-definition-allocation m))
(push-non-nil def () :initform (closer-mop:slot-definition-initform m))
'(push-non-nil def () :initfunction (closer-mop:slot-definition-initfunction m))
(push-non-nil def 't :type (closer-mop:slot-definition-type m))
(push-non-nil def () :initargs (closer-mop:slot-definition-initargs m))
(push-non-nil def () :readers (closer-mop:slot-definition-readers m))
(push-non-nil def () :writers (closer-mop:slot-definition-writers m))
;;(push-non-nil def () :documentation (closer-mop:slot-definition-documentation m))
def))
(defun print-psv-maybe (skip prop a b) (unless (equal b skip) (print-psv prop a b)))
(defun print-psvr (prop a b) (let ((*print-case* :downcase)(*print-readably* t)(*package* (find-package :keyword)))
(print (list :mop-direct a prop b))))
(defun print-psv (prop a b) (unless (eq a b)
(let ((ostr (make-array '(0) :element-type 'base-char :fill-pointer 0 :adjustable t)))
(WITH-OUTPUT-TO-STRING (s ostr)
(let ((*print-case* :downcase)(*print-readably* nil)(*package* (find-package :keyword)))(print (list :mop-direct a prop b))))
(if (search "#<" ostr) (print-psvr prop a b) (progn (princ ostr))))))
(defun print-subclasses (root &optional pre-print) (let ((class (typecase root (class root) (symbol (find-class root)) (t (class-of root))))) '(closer-mop:FINALIZE-INHERITANCE class)
(dolist (item (mapcar #'class-name (closer-mop:class-direct-superclasses class))) (print-psv :superclass (class-name class) item))
(dolist (item (mapcar #'class-name (closer-mop:class-direct-subclasses class))) (print-psv :superclass item (class-name class) ))
(print-psv-maybe () :default-initargs (class-name class) (closer-mop:class-default-initargs class))
(print-psv :package-name (class-name class) (package-name (symbol-package (class-name class))))
(print-psv-maybe '(t) :precedance (class-name class) (mapcar #'class-name (cdr (closer-mop:compute-class-precedence-list class))))
(print-psv :CLASSOF (class-name class) (class-name (CLASS-OF class)))
(print-psv :TYPEOF (class-name class) (TYPE-OF class))
;(print-psv :documentation (class-name class) (closer-mop:class-documentation class))
(when (equal (TYPE-OF class) 'cl:structure-class)
)
(when pre-print (print-psv :superclass (class-name class) (class-name pre-print) ))
(setq *slotno* 0)
(dolist (item (mapcar #'slot-info (closer-mop:class-direct-slots class))) (print-psv :slot (class-name class) item))
'(dolist (item (closer-mop:specializer-direct-methods class)) (print-psv :method (class-name class) item ))
'(dolist (item (mapcar #'method-info (closer-mop:specializer-direct-methods class))) (print-psv :method (class-name class) item ))
(dolist (item (closer-mop:class-direct-subclasses class)) (print-subclasses item class))
(handler-case (let ((b (closer-mop:CLASS-PROTOTYPE class)))(print-psv :PROTOTYPE (class-name class) b ) )(t () ))
))
(print-subclasses t)
(force-output)
(terpri)
#|
i i i i i i i ooooo o ooooooo ooooo ooooo
I I I I I I I 8 8 8 8 8 o 8 8
I \ `+' / I 8 8 8 8 8 8
\ `-+-' / 8 8 8 ooooo 8oooo
`-__|__-' 8 8 8 8 8
| 8 o 8 8 o 8 8
------+------ ooooo 8oooooo ooo8ooo ooooo 8
Welcome to GNU CLISP 2.49 (2010-07-07)
i i i i i i i ooooo o ooooooo ooooo ooooo
I I I I I I I 8 8 8 8 8 o 8 8
I \ `+' / I 8 8 8 8 8 8
\ `-+-' / 8 8 8 ooooo 8oooo
`-__|__-' 8 8 8 8 8
| 8 o 8 8 o 8 8
------+------ ooooo 8oooooo ooo8ooo ooooo 8
i i i i i i i ooooo o ooooooo ooooo ooooo
I I I I I I I 8 8 8 8 8 o 8 8
I \ `+' / I 8 8 8 8 8 8
\ `-+-' / 8 8 8 ooooo 8oooo
`-__|__-' 8 8 8 8 8
| 8 o 8 8 o 8 8
------+------ ooooo 8oooooo ooo8ooo ooooo 8
Welcome to GNU CLISP 2.49 (2010-07-07)
Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998
Copyright (c) Bruno Haible, Sam Steingold 1999-2000
Copyright (c) Sam Steingold, Bruno Haible 2001-2010
Type :h and hit Enter for context help.
;; Loading file /root/.clisprc.lisp ...
;; Loading file /root/quicklisp/setup.lisp ...
;; Loaded file /root/quicklisp/setup.lisp
;; Loaded file /root/.clisprc.lisp
;; Loading file clisp.info ...
;; Loading file asdf/build/asdf.lisp ...
; Renamed old ASDF package away to ASDF-2.26
;; Loaded file asdf/build/asdf.lisp
;; Loading file /root/quicklisp/setup.lisp ...
;; Loaded file /root/quicklisp/setup.lisp
;; Loading file quicklisp.lisp ...
==== quicklisp quickstart 2015-01-28 loaded ====
To continue with installation, evaluate: (quicklisp-quickstart:install)
For installation options, evaluate: (quicklisp-quickstart:help)
;; Loaded file quicklisp.lisp
To load "closer-mop":
Load 1 ASDF system:
closer-mop
; Loading "closer-mop"
(:mop-direct common-lisp:symbol :superclass common-lisp:t)
(:mop-direct common-lisp:stream :superclass common-lisp:t)
(:mop-direct common-lisp:readtable :superclass common-lisp:t)
(:mop-direct common-lisp:random-state :superclass common-lisp:t)
(:mop-direct common-lisp:pathname :superclass common-lisp:t)
(:mop-direct common-lisp:package :superclass common-lisp:t)
(:mop-direct common-lisp:hash-table :superclass common-lisp:t)
(:mop-direct common-lisp:function :superclass common-lisp:t)
(:mop-direct common-lisp:character :superclass common-lisp:t)
(:mop-direct common-lisp:structure-object :superclass common-lisp:t)
(:mop-direct common-lisp:standard-object :superclass common-lisp:t)
(:mop-direct common-lisp:sequence :superclass common-lisp:t)
(:mop-direct common-lisp:array :superclass common-lisp:t)
(:mop-direct common-lisp:number :superclass common-lisp:t)
(:mop-direct common-lisp:t :package-name "COMMON-LISP")
(:mop-direct common-lisp:t :precedance common-lisp:nil)
(:mop-direct common-lisp:t :classof clos:built-in-class)
(:mop-direct common-lisp:t :typeof clos:built-in-class)
(:mop-direct common-lisp:symbol :superclass common-lisp:t)
(:mop-direct common-lisp:null :superclass common-lisp:symbol)
(:mop-direct common-lisp:symbol :package-name "COMMON-LISP")
(:mop-direct common-lisp:symbol :classof clos:built-in-class)
(:mop-direct common-lisp:symbol :typeof clos:built-in-class)
(:mop-direct common-lisp:symbol :superclass common-lisp:t)
(:mop-direct common-lisp:null :superclass common-lisp:symbol)
(:mop-direct common-lisp:null :superclass common-lisp:list)
(:mop-direct common-lisp:null :package-name "COMMON-LISP")
(:mop-direct common-lisp:null :precedance (common-lisp:symbol common-lisp:list common-lisp:sequence common-lisp:t))
(:mop-direct common-lisp:null :classof clos:built-in-class)
(:mop-direct common-lisp:null :typeof clos:built-in-class)
(:mop-direct common-lisp:null :superclass common-lisp:symbol)
(:mop-direct common-lisp:null :prototype common-lisp:nil)
(:mop-direct common-lisp:symbol :prototype common-lisp:t)
(:mop-direct common-lisp:stream :superclass common-lisp:t)
(:mop-direct gray:fundamental-stream :superclass common-lisp:stream)
(:mop-direct common-lisp:string-stream :superclass common-lisp:stream)
(:mop-direct common-lisp:echo-stream :superclass common-lisp:stream)
(:mop-direct common-lisp:two-way-stream :superclass common-lisp:stream)
(:mop-direct common-lisp:concatenated-stream :superclass common-lisp:stream)
(:mop-direct common-lisp:broadcast-stream :superclass common-lisp:stream)
(:mop-direct common-lisp:synonym-stream :superclass common-lisp:stream)
(:mop-direct common-lisp:file-stream :superclass common-lisp:stream)
(:mop-direct common-lisp:stream :package-name "COMMON-LISP")
(:mop-direct common-lisp:stream :classof clos:built-in-class)
(:mop-direct common-lisp:stream :typeof clos:built-in-class)
(:mop-direct common-lisp:stream :superclass common-lisp:t)
(:mop-direct gray:fundamental-stream :superclass common-lisp:stream)
(:mop-direct gray:fundamental-stream :superclass common-lisp:standard-object)
(:mop-direct gray:fundamental-binary-stream :superclass gray:fundamental-stream)
(:mop-direct gray:fundamental-character-stream :superclass gray:fundamental-stream)
(:mop-direct gray:fundamental-output-stream :superclass gray:fundamental-stream)
(:mop-direct gray:fundamental-input-stream :superclass gray:fundamental-stream)
(:mop-direct gray:fundamental-stream :package-name "GRAY")
(:mop-direct gray:fundamental-stream :precedance (common-lisp:stream common-lisp:standard-object common-lisp:t))
(:mop-direct gray:fundamental-stream :classof clos:standard-class)
(:mop-direct gray:fundamental-stream :typeof clos:standard-class)
(:mop-direct gray:fundamental-stream :superclass common-lisp:stream)
(:mop-direct gray:fundamental-stream :slot ((:name system::$open) (:ordinal 1) (:initform common-lisp:t) (:type common-lisp:boolean)))
(:mop-direct gray:fundamental-stream :slot ((:name system::$fasl) (:ordinal 2) (:type common-lisp:boolean)))
(:mop-direct gray:fundamental-stream :slot ((:name system::$penl) (:ordinal 3) (:type common-lisp:boolean)))
(:mop-direct gray:fundamental-binary-stream :superclass gray:fundamental-stream)
(:mop-direct gray:fundamental-binary-output-stream :superclass gray:fundamental-binary-stream)
(:mop-direct gray:fundamental-binary-input-stream :superclass gray:fundamental-binary-stream)
(:mop-direct gray:fundamental-binary-stream :package-name "GRAY")
(:mop-direct gray:fundamental-binary-stream :precedance (gray:fundamental-stream common-lisp:stream common-lisp:standard-object common-lisp:t))
(:mop-direct gray:fundamental-binary-stream :classof clos:standard-class)
(:mop-direct gray:fundamental-binary-stream :typeof clos:standard-class)
(:mop-direct gray:fundamental-binary-stream :superclass gray:fundamental-stream)
(:mop-direct gray:fundamental-binary-output-stream :superclass gray:fundamental-output-stream)
(:mop-direct gray:fundamental-binary-output-stream :superclass gray:fundamental-binary-stream)
(:mop-direct gray:fundamental-binary-output-stream :package-name "GRAY")
(:mop-direct gray:fundamental-binary-output-stream :precedance
(gray:fundamental-output-stream gray:fundamental-binary-stream gray:fundamental-stream common-lisp:stream common-lisp:standard-object
common-lisp:t))
(:mop-direct gray:fundamental-binary-output-stream :classof clos:standard-class)
(:mop-direct gray:fundamental-binary-output-stream :typeof clos:standard-class)
(:mop-direct gray:fundamental-binary-output-stream :superclass gray:fundamental-binary-stream)
(:mop-direct gray:fundamental-binary-output-stream :prototype #)
(:mop-direct gray:fundamental-binary-input-stream :superclass gray:fundamental-input-stream)
(:mop-direct gray:fundamental-binary-input-stream :superclass gray:fundamental-binary-stream)
(:mop-direct gray:fundamental-binary-input-stream :package-name "GRAY")
(:mop-direct gray:fundamental-binary-input-stream :precedance
(gray:fundamental-input-stream gray:fundamental-binary-stream gray:fundamental-stream common-lisp:stream common-lisp:standard-object
common-lisp:t))
(:mop-direct gray:fundamental-binary-input-stream :classof clos:standard-class)
(:mop-direct gray:fundamental-binary-input-stream :typeof clos:standard-class)
(:mop-direct gray:fundamental-binary-input-stream :superclass gray:fundamental-binary-stream)
(:mop-direct gray:fundamental-binary-input-stream :prototype #)
(:mop-direct gray:fundamental-binary-stream :prototype #)
(:mop-direct gray:fundamental-character-stream :superclass gray:fundamental-stream)
(:mop-direct gray:fundamental-character-output-stream :superclass gray:fundamental-character-stream)
(:mop-direct gray:fundamental-character-input-stream :superclass gray:fundamental-character-stream)
(:mop-direct gray:fundamental-character-stream :package-name "GRAY")
(:mop-direct gray:fundamental-character-stream :precedance
(gray:fundamental-stream common-lisp:stream common-lisp:standard-object common-lisp:t))
(:mop-direct gray:fundamental-character-stream :classof clos:standard-class)
(:mop-direct gray:fundamental-character-stream :typeof clos:standard-class)
(:mop-direct gray:fundamental-character-stream :superclass gray:fundamental-stream)
(:mop-direct gray:fundamental-character-output-stream :superclass gray:fundamental-output-stream)
(:mop-direct gray:fundamental-character-output-stream :superclass gray:fundamental-character-stream)
(:mop-direct system::html-stream-out :superclass gray:fundamental-character-output-stream)
(:mop-direct ext:fill-stream :superclass gray:fundamental-character-output-stream)
(:mop-direct gray:fundamental-character-output-stream :package-name "GRAY")
(:mop-direct gray:fundamental-character-output-stream :precedance
(gray:fundamental-output-stream gray:fundamental-character-stream gray:fundamental-stream common-lisp:stream common-lisp:standard-object
common-lisp:t))
(:mop-direct gray:fundamental-character-output-stream :classof clos:standard-class)
(:mop-direct gray:fundamental-character-output-stream :typeof clos:standard-class)
(:mop-direct gray:fundamental-character-output-stream :superclass gray:fundamental-character-stream)
(:mop-direct system::html-stream-out :superclass gray:fundamental-character-output-stream)
(:mop-direct system::html-stream-out :package-name "SYSTEM")
(:mop-direct system::html-stream-out :precedance
(gray:fundamental-character-output-stream gray:fundamental-output-stream gray:fundamental-character-stream gray:fundamental-stream
common-lisp:stream common-lisp:standard-object common-lisp:t))
(:mop-direct system::html-stream-out :classof clos:standard-class)
(:mop-direct system::html-stream-out :typeof clos:standard-class)
(:mop-direct system::html-stream-out :superclass gray:fundamental-character-output-stream)
(:mop-direct system::html-stream-out :slot ((:name system::target-stream) (:ordinal 1) (:type common-lisp:stream) (:initargs (:stream))))
(:mop-direct system::html-stream-out :prototype #)
(:mop-direct ext:fill-stream :superclass gray:fundamental-character-output-stream)
(:mop-direct system::describe-stream :superclass ext:fill-stream)
(:mop-direct ext:fill-stream :package-name "EXT")
(:mop-direct ext:fill-stream :precedance
(gray:fundamental-character-output-stream gray:fundamental-output-stream gray:fundamental-character-stream gray:fundamental-stream
common-lisp:stream common-lisp:standard-object common-lisp:t))
(:mop-direct ext:fill-stream :classof clos:standard-class)
(:mop-direct ext:fill-stream :typeof clos:standard-class)
(:mop-direct ext:fill-stream :superclass gray:fundamental-character-output-stream)
(:mop-direct ext:fill-stream :slot ((:name system::target-stream) (:ordinal 1) (:type common-lisp:stream) (:initargs (:stream))))
(:mop-direct ext:fill-stream :slot
((:name system::buffer) (:ordinal 2)
(:initform (common-lisp:make-array (system::right-margin) :element-type 'common-lisp:character :fill-pointer 0 :adjustable common-lisp:t))
(:type common-lisp:string)))
(:mop-direct ext:fill-stream :slot ((:name system::inside-sexp) (:ordinal 3) (:type common-lisp:boolean)))
(:mop-direct ext:fill-stream :slot
((:name system::sexp-indent) (:ordinal 4) (:initform custom:*fill-indent-sexp*)
(:type (common-lisp:or common-lisp:symbol common-lisp:integer common-lisp:function)) (:initargs (:sexp-indent))))
(:mop-direct ext:fill-stream :slot
((:name system::indent-var) (:ordinal 5) (:initform 0) (:type (common-lisp:or common-lisp:symbol common-lisp:integer))
(:initargs (:text-indent))))
(:mop-direct ext:fill-stream :slot ((:name system::pending-space) (:ordinal 6) (:type common-lisp:boolean)))
(:mop-direct ext:fill-stream :slot ((:name system::current-indent) (:ordinal 7) (:initform 0) (:type common-lisp:integer)))
(:mop-direct ext:fill-stream :slot ((:name system::pending-indent) (:ordinal 8) (:type (common-lisp:or common-lisp:null common-lisp:integer))))
(:mop-direct system::describe-stream :superclass ext:fill-stream)
(:mop-direct system::describe-stream :package-name "SYSTEM")
(:mop-direct system::describe-stream :precedance
(ext:fill-stream gray:fundamental-character-output-stream gray:fundamental-output-stream gray:fundamental-character-stream
gray:fundamental-stream common-lisp:stream common-lisp:standard-object common-lisp:t))
(:mop-direct system::describe-stream :classof clos:standard-class)
(:mop-direct system::describe-stream :typeof clos:standard-class)
(:mop-direct system::describe-stream :superclass ext:fill-stream)
(:mop-direct system::describe-stream :prototype #)
(:mop-direct ext:fill-stream :prototype #)
(:mop-direct gray:fundamental-character-output-stream :prototype #)
(:mop-direct gray:fundamental-character-input-stream :superclass gray:fundamental-input-stream)
(:mop-direct gray:fundamental-character-input-stream :superclass gray:fundamental-character-stream)
(:mop-direct gray:fundamental-character-input-stream :package-name "GRAY")
(:mop-direct gray:fundamental-character-input-stream :precedance
(gray:fundamental-input-stream gray:fundamental-character-stream gray:fundamental-stream common-lisp:stream common-lisp:standard-object
common-lisp:t))
(:mop-direct gray:fundamental-character-input-stream :classof clos:standard-class)
(:mop-direct gray:fundamental-character-input-stream :typeof clos:standard-class)
(:mop-direct gray:fundamental-character-input-stream :superclass gray:fundamental-character-stream)
(:mop-direct gray:fundamental-character-input-stream :slot ((:name system::$lastchar) (:ordinal 1)))
(:mop-direct gray:fundamental-character-input-stream :prototype #)
(:mop-direct gray:fundamental-character-stream :prototype #)
(:mop-direct gray:fundamental-output-stream :superclass gray:fundamental-stream)
(:mop-direct gray:fundamental-binary-output-stream :superclass gray:fundamental-output-stream)
(:mop-direct gray:fundamental-character-output-stream :superclass gray:fundamental-output-stream)
(:mop-direct gray:fundamental-output-stream :package-name "GRAY")
(:mop-direct gray:fundamental-output-stream :precedance (gray:fundamental-stream common-lisp:stream common-lisp:standard-object common-lisp:t))
(:mop-direct gray:fundamental-output-stream :classof clos:standard-class)
(:mop-direct gray:fundamental-output-stream :typeof clos:standard-class)
(:mop-direct gray:fundamental-output-stream :superclass gray:fundamental-stream)
(:mop-direct gray:fundamental-binary-output-stream :superclass gray:fundamental-output-stream)
(:mop-direct gray:fundamental-binary-output-stream :superclass gray:fundamental-binary-stream)
(:mop-direct gray:fundamental-binary-output-stream :package-name "GRAY")
(:mop-direct gray:fundamental-binary-output-stream :precedance
(gray:fundamental-output-stream gray:fundamental-binary-stream gray:fundamental-stream common-lisp:stream common-lisp:standard-object
common-lisp:t))
(:mop-direct gray:fundamental-binary-output-stream :classof clos:standard-class)
(:mop-direct gray:fundamental-binary-output-stream :typeof clos:standard-class)
(:mop-direct gray:fundamental-binary-output-stream :superclass gray:fundamental-output-stream)
(:mop-direct gray:fundamental-binary-output-stream :prototype #)
(:mop-direct gray:fundamental-character-output-stream :superclass gray:fundamental-output-stream)
(:mop-direct gray:fundamental-character-output-stream :superclass gray:fundamental-character-stream)
(:mop-direct system::html-stream-out :superclass gray:fundamental-character-output-stream)
(:mop-direct ext:fill-stream :superclass gray:fundamental-character-output-stream)
(:mop-direct gray:fundamental-character-output-stream :package-name "GRAY")
(:mop-direct gray:fundamental-character-output-stream :precedance
(gray:fundamental-output-stream gray:fundamental-character-stream gray:fundamental-stream common-lisp:stream common-lisp:standard-object
common-lisp:t))
(:mop-direct gray:fundamental-character-output-stream :classof clos:standard-class)
(:mop-direct gray:fundamental-character-output-stream :typeof clos:standard-class)
(:mop-direct gray:fundamental-character-output-stream :superclass gray:fundamental-output-stream)
(:mop-direct system::html-stream-out :superclass gray:fundamental-character-output-stream)
(:mop-direct system::html-stream-out :package-name "SYSTEM")
(:mop-direct system::html-stream-out :precedance
(gray:fundamental-character-output-stream gray:fundamental-output-stream gray:fundamental-character-stream gray:fundamental-stream
common-lisp:stream common-lisp:standard-object common-lisp:t))
(:mop-direct system::html-stream-out :classof clos:standard-class)
(:mop-direct system::html-stream-out :typeof clos:standard-class)
(:mop-direct system::html-stream-out :superclass gray:fundamental-character-output-stream)
(:mop-direct system::html-stream-out :slot ((:name system::target-stream) (:ordinal 1) (:type common-lisp:stream) (:initargs (:stream))))
(:mop-direct system::html-stream-out :prototype #)
(:mop-direct ext:fill-stream :superclass gray:fundamental-character-output-stream)
(:mop-direct system::describe-stream :superclass ext:fill-stream)
(:mop-direct ext:fill-stream :package-name "EXT")
(:mop-direct ext:fill-stream :precedance
(gray:fundamental-character-output-stream gray:fundamental-output-stream gray:fundamental-character-stream gray:fundamental-stream
common-lisp:stream common-lisp:standard-object common-lisp:t))
(:mop-direct ext:fill-stream :classof clos:standard-class)
(:mop-direct ext:fill-stream :typeof clos:standard-class)
(:mop-direct ext:fill-stream :superclass gray:fundamental-character-output-stream)
(:mop-direct ext:fill-stream :slot ((:name system::target-stream) (:ordinal 1) (:type common-lisp:stream) (:initargs (:stream))))
(:mop-direct ext:fill-stream :slot
((:name system::buffer) (:ordinal 2)
(:initform (common-lisp:make-array (system::right-margin) :element-type 'common-lisp:character :fill-pointer 0 :adjustable common-lisp:t))
(:type common-lisp:string)))
(:mop-direct ext:fill-stream :slot ((:name system::inside-sexp) (:ordinal 3) (:type common-lisp:boolean)))
(:mop-direct ext:fill-stream :slot
((:name system::sexp-indent) (:ordinal 4) (:initform custom:*fill-indent-sexp*)
(:type (common-lisp:or common-lisp:symbol common-lisp:integer common-lisp:function)) (:initargs (:sexp-indent))))
(:mop-direct ext:fill-stream :slot
((:name system::indent-var) (:ordinal 5) (:initform 0) (:type (common-lisp:or common-lisp:symbol common-lisp:integer))
(:initargs (:text-indent))))
(:mop-direct ext:fill-stream :slot ((:name system::pending-space) (:ordinal 6) (:type common-lisp:boolean)))
(:mop-direct ext:fill-stream :slot ((:name system::current-indent) (:ordinal 7) (:initform 0) (:type common-lisp:integer)))
(:mop-direct ext:fill-stream :slot ((:name system::pending-indent) (:ordinal 8) (:type (common-lisp:or common-lisp:null common-lisp:integer))))
(:mop-direct system::describe-stream :superclass ext:fill-stream)
(:mop-direct system::describe-stream :package-name "SYSTEM")
(:mop-direct system::describe-stream :precedance
(ext:fill-stream gray:fundamental-character-output-stream gray:fundamental-output-stream gray:fundamental-character-stream
gray:fundamental-stream common-lisp:stream common-lisp:standard-object common-lisp:t))
(:mop-direct system::describe-stream :classof clos:standard-class)
(:mop-direct system::describe-stream :typeof clos:standard-class)
(:mop-direct system::describe-stream :superclass ext:fill-stream)
(:mop-direct system::describe-stream :prototype #)
(:mop-direct ext:fill-stream :prototype #)
(:mop-direct gray:fundamental-character-output-stream :prototype #)
(:mop-direct gray:fundamental-output-stream :prototype #)
(:mop-direct gray:fundamental-input-stream :superclass gray:fundamental-stream)
(:mop-direct gray:fundamental-binary-input-stream :superclass gray:fundamental-input-stream)
(:mop-direct gray:fundamental-character-input-stream :superclass gray:fundamental-input-stream)
(:mop-direct gray:fundamental-input-stream :package-name "GRAY")
(:mop-direct gray:fundamental-input-stream :precedance (gray:fundamental-stream common-lisp:stream common-lisp:standard-object common-lisp:t))
(:mop-direct gray:fundamental-input-stream :classof clos:standard-class)
(:mop-direct gray:fundamental-input-stream :typeof clos:standard-class)
(:mop-direct gray:fundamental-input-stream :superclass gray:fundamental-stream)
(:mop-direct gray:fundamental-binary-input-stream :superclass gray:fundamental-input-stream)
(:mop-direct gray:fundamental-binary-input-stream :superclass gray:fundamental-binary-stream)
(:mop-direct gray:fundamental-binary-input-stream :package-name "GRAY")
(:mop-direct gray:fundamental-binary-input-stream :precedance
(gray:fundamental-input-stream gray:fundamental-binary-stream gray:fundamental-stream common-lisp:stream common-lisp:standard-object
common-lisp:t))
(:mop-direct gray:fundamental-binary-input-stream :classof clos:standard-class)
(:mop-direct gray:fundamental-binary-input-stream :typeof clos:standard-class)
(:mop-direct gray:fundamental-binary-input-stream :superclass gray:fundamental-input-stream)
(:mop-direct gray:fundamental-binary-input-stream :prototype #)
(:mop-direct gray:fundamental-character-input-stream :superclass gray:fundamental-input-stream)
(:mop-direct gray:fundamental-character-input-stream :superclass gray:fundamental-character-stream)
(:mop-direct gray:fundamental-character-input-stream :package-name "GRAY")
(:mop-direct gray:fundamental-character-input-stream :precedance
(gray:fundamental-input-stream gray:fundamental-character-stream gray:fundamental-stream common-lisp:stream common-lisp:standard-object
common-lisp:t))
(:mop-direct gray:fundamental-character-input-stream :classof clos:standard-class)
(:mop-direct gray:fundamental-character-input-stream :typeof clos:standard-class)
(:mop-direct gray:fundamental-character-input-stream :superclass gray:fundamental-input-stream)
(:mop-direct gray:fundamental-character-input-stream :slot ((:name system::$lastchar) (:ordinal 1)))
(:mop-direct gray:fundamental-character-input-stream :prototype #)
(:mop-direct gray:fundamental-input-stream :prototype #)
(:mop-direct gray:fundamental-stream :prototype #)
(:mop-direct common-lisp:string-stream :superclass common-lisp:stream)
(:mop-direct common-lisp:string-stream :package-name "COMMON-LISP")
(:mop-direct common-lisp:string-stream :precedance (common-lisp:stream common-lisp:t))
(:mop-direct common-lisp:string-stream :classof clos:built-in-class)
(:mop-direct common-lisp:string-stream :typeof clos:built-in-class)
(:mop-direct common-lisp:string-stream :superclass common-lisp:stream)
(:mop-direct common-lisp:string-stream :prototype #