[plt-scheme] modules, autodoc, and the drscheme multimedia format

From: Corey Sweeney (corey.sweeney at gmail.com)
Date: Mon Aug 29 14:30:13 EDT 2005

Does there exist a "autodoc" system for the module system?  Nothing
fancy.  I'm not even looking for full prototypes, just the name of the
provided functions.  For example, suppose I had the following
"thin-client.ss" file:

(module thin-client (lib "plt-pretty-big-text.ss" "lang")
  blah
  blah
  blah
  (provide (all-defined)))

          <<then do something like:>>

bash $ drdoc thin-client.ss

          <<and get something like:>>

module name: thin-client

procedures:
         connect-to-server
          
         disconnect-from-server


------------

or, another option...  Is there a way to access the drscheme
multimedia format?  Currently for text .scm files, I wrote a script
that greps for defines and ';**' comments at the end of a line which
are used to mark a line as important to go in the summary.  But many
files in the drscheme multimedia format are inaccessable to me.  I
realize that I could export every file to "text format", and then grep
through those, but I'm hoping for a automatic process in which with
once command i'll be able to generate all my documentation.

---

i found "(lookup-documentation module-path-v label-sym)",in the docs,
but i can't figure what "label-sym" is supposed to be.  My guess is
that it's a user-defined symbol that lets you insert documentation
into the middle of the code, and you write a function to extract it
and print it as you want.  (which is cool, and i might use in the
future).  But I was hoping for auto-extraction of my unmodified
sources.   I tried:

(provide-and-document
 (all-defined)), but that didn't work.

Is there more info on how to use this? 

-----

Oh, and if it matters, my modules are actually wrappers. So my
thin-client.ss file is actually:

(module thin-client (lib "plt-pretty-big-text.ss" "lang")
  (require (lib "lib-general.ss" "general"))
  (require (lib "include.ss"))
  (include "thin.client.scm")
  (provide (all-defined)))




Corey



Posted on the users mailing list.