This is the mail archive of the guile@sourceware.cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

scheme-describe


Hello,

I'm writing a new describe procedure and Emacs's scheme-describe
command for Guile Emacs.  So far, it works like this:

% guile
guile> (use-modules (oop goops))
guile> (use-modules (utils describe))
guile> (describe 'assq)
`assq' is a primitive procedure.
Defined in `$(LIBGUILE)/alist.c:147'.

(assq key alist)

Fetches the entry in ALIST that is associated with KEY.  To
decide whether the argument KEY matches a particular entry in
ALIST, `assq' compares keys with `eq?', `assv'
uses `eqv?' and `assoc' uses `equal?'.  If KEY
cannot be found in ALIST (according to whichever equality
predicate is in use), then `#f' is returned.  These functions
return the entire alist entry found (i.e. both the key and the value).
guile> (describe 'describe-value)
`describe-value' is a generic function of class <generic>.

Method: (describe-value <method>)
  Describe the value of OBJ, which is an instance of <method>.
Method: (describe-value <generic>)
  (not documented)
Method: (describe-value <object>)
  (not documented)
Method: (describe-value <class>)
  (not documented)
Method: (describe-value <procedure>)
  (not documented)
Method: (describe-value <top>)
  (not documented)

Not documented.
guile> (describe '<generic>)
`<generic>' is a class of <entity-class>.

Class precedence list:

Class: <generic>
  Not documented.
Class: <entity>
  Not documented.
Class: <object>
  Not documented.
Class: <top>
  Not documented.

Direct superclasses:

Class: <entity>
  Not documented.

Direct subclasses:

Class: <generic-with-setter>
  Not documented.

Direct slots:

Slot: methods
Slot: n-specialized
Slot: used-by
Slot: cache-mutex

Direct methods:

Method: (describe-value <generic>)
  (not documented)
Method: (describe-type <generic>)
  (not documented)
Method: (apply-methods <generic> <list> <top>)
  (not documented)
Method: (apply-method <generic> <top> <top> <top>)
  (not documented)
Method: (sort-applicable-methods <generic> <top> <top>)
  (not documented)
Method: (compute-applicable-methods <generic> <top>)
  (not documented)
Method: (apply-generic <generic> <top>)
  (not documented)
Method: (initialize <generic> <top>)
  (not documented)
Method: (no-method <generic> <top>)
  (not documented)
Method: (no-applicable-method <generic> <top>)
  (not documented)
Method: (no-next-method <generic> <top>)
  (not documented)
Method: (write <generic> <top>)
  (not documented)
Method: (add-method! <generic> <method>)
  (not documented)

Not documented.
guile>

These output can be redirected into an Emacs buffer.  More work is
needed to make it very useful.  I'll work on this for more few days
and release Guile Emacs 0.4.

Thanks,
Keisuke Nishida

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]