Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
So, where's the "Javadoc" for COMMON Lisp?
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  Messages 1 - 25 of 202 - Collapse all  -  Translate all to Translated (View all originals)   Newer >
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Larry Loen  
View profile  
 More options Jul 17 2001, 10:50 am
Newsgroups: comp.lang.lisp
From: Larry Loen <lwl...@rchland.vnet.ibm.com>
Date: Tue, 17 Jul 2001 09:43:57 -0500
Local: Tues, Jul 17 2001 10:43 am
Subject: So, where's the "Javadoc" for COMMON Lisp?
Thanks to people posting here, I've read the "Gentle Introduction" and even coded up a few interesting programs in LISP.

What I think I need now is what I needed at a comparable point in my Java journey -- a simple, on-line, indexed, HTML version of all the functions
described.

Something very much like Javadoc does.

I don't really want another book (I have a couple more, but nowadays, books are awkward and I flit around several computers and between home and
work).  As much as I admire Knuth, I don't want stuff in tex format (which I don't yet have any way of handling, especially a whole directory's
worth).

If it isn't HTML, it does have to be in a format that isn't Unix-specific and one which will work on a variety of platforms readily without me
learning another damn tool.

In short, I need a place to go to "find out" what I don't know about COMMON Lisp, function-by-function as I need it.

Larry


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Tord Kallqvist Romstad  
View profile  
 More options Jul 17 2001, 11:44 am
Newsgroups: comp.lang.lisp
From: Tord Kallqvist Romstad <roms...@janus.uio.no>
Date: 17 Jul 2001 17:44:42 +0200
Local: Tues, Jul 17 2001 11:44 am
Subject: Re: So, where's the "Javadoc" for COMMON Lisp?

Larry Loen <lwl...@rchland.vnet.ibm.com> writes:
> In short, I need a place to go to "find out" what I don't know about
> COMMON Lisp, function-by-function as I need it.

The Common Lisp HyperSpec could be precisely what you are looking for:

http://www.xanalys.com/software_tools/reference/HyperSpec/

--
Tord Romstad


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Larry Loen  
View profile  
 More options Jul 17 2001, 12:05 pm
Newsgroups: comp.lang.lisp
From: Larry Loen <lwl...@rchland.vnet.ibm.com>
Date: Tue, 17 Jul 2001 10:56:33 -0500
Local: Tues, Jul 17 2001 11:56 am
Subject: Re: So, where's the "Javadoc" for COMMON Lisp?

Larry Loen wrote:
> Thanks to people posting here, I've read the "Gentle Introduction" and even coded up a few interesting programs in LISP.

> What I think I need now is what I needed at a comparable point in my Java journey -- a simple, on-line, indexed, HTML version of all the functions
> described.

> Something very much like Javadoc does.

And, just after that, saw this in another post.

http://www.xanalys.com/software_tools/reference/HyperSpec/FrontMatter...

Looks like it will serve very well.  Is there anything better (he asks greedily)?

Larry


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Pierre R. Mai  
View profile  
 More options Jul 17 2001, 1:31 pm
Newsgroups: comp.lang.lisp
From: "Pierre R. Mai" <p...@acm.org>
Date: 17 Jul 2001 18:41:23 +0200
Local: Tues, Jul 17 2001 12:41 pm
Subject: Re: So, where's the "Javadoc" for COMMON Lisp?

Larry Loen <lwl...@rchland.vnet.ibm.com> writes:
> What I think I need now is what I needed at a comparable point in my
> Java journey -- a simple, on-line, indexed, HTML version of all the
> functions described.

You are aware of the fact that the text of the ANSI Common Lisp
standard is available in HTML form as something called the HyperSpec,
from  www.xanalys.com?

This will give you a complete reference of the whole
standard-specified functionality of your implementation.  For
everything else, you'll have to take a look at the documentation that
comes with your implementation.

If you use Emacs, you will probably also want to use one of the Emacs
<-> HyperSpec interfaces, which will look up the HyperSpec entry to
the symbol-at-point at the touch of a button.  A couple of them come
with the ILISP distribution.

LispWorks on Windows/Linux already interfaces to the HyperSpec and
Xanalys' vendor documentation in an automated way.

For other implementations/editors/environments YMMV.

Regs, Pierre.

--
Pierre R. Mai <p...@acm.org>                    http://www.pmsf.de/pmai/
 The most likely way for the world to be destroyed, most experts agree,
 is by accident. That's where we come in; we're computer professionals.
 We cause accidents.                           -- Nathaniel Borenstein


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Marcin Tustin  
View profile  
 More options Jul 17 2001, 2:36 pm
Newsgroups: comp.lang.lisp
From: "Marcin Tustin" <Marc...@GUeswhatthisbitisfor.mindless.com>
Date: Tue, 17 Jul 2001 18:20:25 +0100
Local: Tues, Jul 17 2001 1:20 pm
Subject: Re: So, where's the "Javadoc" for COMMON Lisp?
Actually, how powerful is the document string feature? (I'll go read about
it later)? Has anyone found the need to build something more like javadoc
(or Doxygen)? (I do mean javadoc, not api documentation).

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Thomas F. Burdick  
View profile  
 More options Jul 17 2001, 2:36 pm
Newsgroups: comp.lang.lisp
From: t...@apocalypse.OCF.Berkeley.EDU (Thomas F. Burdick)
Date: 17 Jul 2001 11:36:24 -0700
Local: Tues, Jul 17 2001 2:36 pm
Subject: Re: So, where's the "Javadoc" for COMMON Lisp?

Larry Loen <lwl...@rchland.vnet.ibm.com> writes:
> Larry Loen wrote:

> > Thanks to people posting here, I've read the "Gentle Introduction" and even coded up a few interesting programs in LISP.

> > What I think I need now is what I needed at a comparable point in my Java journey -- a simple, on-line, indexed, HTML version of all the functions
> > described.

> > Something very much like Javadoc does.

> And, just after that, saw this in another post.

> http://www.xanalys.com/software_tools/reference/HyperSpec/FrontMatter...

> Looks like it will serve very well.  Is there anything better (he asks greedily)?

Better than the spec itself?  Once you start to get the hang of the
language (which is what an intro book should give you), there's
nothing better.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Håkon Alstadheim  
View profile  
 More options Jul 17 2001, 3:55 pm
Newsgroups: comp.lang.lisp
From: hakonm...@enitel.no (Håkon Alstadheim)
Date: 17 Jul 2001 12:18:27 -0400
Local: Tues, Jul 17 2001 12:18 pm
Subject: Re: So, where's the "Javadoc" for COMMON Lisp?

Larry Loen <lwl...@rchland.vnet.ibm.com> writes:
> Thanks to people posting here, I've read the "Gentle Introduction" and
> even coded up a few interesting programs in LISP.
[...]
> In short, I need a place to go to "find out" what I don't know about
> COMMON Lisp, function-by-function as I need it.

You are describing the Common Lisp HyperSpec.
<http://www.xanalys.com/software_tools/reference/HyperSpec/>. The
HyperSpec can be browsed online or downloaded. You really should be
using Ilisp <http://ilisp.cons.org/> to do your lisp editing. Ilisp
has a command to view (in a browser) the HyperSpec entry for the
function under the cursor. Ilisp can be customized to use a locally
stored copy of the HyperSpec.

--
Håkon Alstadheim, Montreal, Quebec, Canada  


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Pierre R. Mai  
View profile  
 More options Jul 17 2001, 6:31 pm
Newsgroups: comp.lang.lisp
From: "Pierre R. Mai" <p...@acm.org>
Date: 18 Jul 2001 00:03:16 +0200
Local: Tues, Jul 17 2001 6:03 pm
Subject: Re: So, where's the "Javadoc" for COMMON Lisp?

"Marcin Tustin" <Marc...@GUeswhatthisbitisfor.mindless.com> writes:
> Actually, how powerful is the document string feature? (I'll go read about
> it later)? Has anyone found the need to build something more like javadoc
> (or Doxygen)? (I do mean javadoc, not api documentation).

All of those "lets generate reams of documentation automatically from
the code and mixed-in comments" tools I've ever encountered just
produce thousands of pages (either hard-copy, electronic or hyper-text)
of documentation for even smallish programs, that no-one in their right
mind would want to read.

In other words:  Those tools are great for appeasing management that
insists on stacks of documentation (instead of focusing on quality
documentation), and/or for those that are somehow psychologically
incapable of reading source code, but other than that they are an
incredible waste of space.

A useful Lisp programming environment is going to beat any of those
systems hands-down:

- Most of the stuff those tools produce are implementation details,
  which are only relevant when you are changing/working with that
  unit's implementation, i.e. when you have the source-code those
  documents were generated from in front of you anyway.  No need to
  look at the same things in HTML/DOC/PDF at all.

- Those things which define interfaces, i.e. stuff you might want to
  reference while working on other files, are accessible much more
  directly in the Lisp environment, via symbol-completion/apropos,
  describe, doc-strings, argument lists, and if really necessary
  commands like edit-definition, find-callers, etc.

- In fact most Lisp environments offers much better cross-referencing
  tools than the simple-minded cross-linking most of the automatic
  documentation generation tools provide.

So, IMHO, put all of the low-level stuff into comments, doc-strings
and the source code, but let them stay there.  And then write some
high-level design documents, _BY HAND_, because those are documents
that will actually get read, because they answer questions which can
not be gotten more quickly from the source-code, and because they were
written by a human being, and are therefore at least half-way readable
and well-structured (in theory ;).

Regs, Pierre.

--
Pierre R. Mai <p...@acm.org>                    http://www.pmsf.de/pmai/
 The most likely way for the world to be destroyed, most experts agree,
 is by accident. That's where we come in; we're computer professionals.
 We cause accidents.                           -- Nathaniel Borenstein


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Paolo Amoroso  
View profile  
 More options Jul 18 2001, 6:33 am
Newsgroups: comp.lang.lisp
From: Paolo Amoroso <amor...@mclink.it>
Date: Wed, 18 Jul 2001 12:23:14 +0200
Local: Wed, Jul 18 2001 6:23 am
Subject: Re: So, where's the "Javadoc" for COMMON Lisp?
On Tue, 17 Jul 2001 10:56:33 -0500, Larry Loen

<lwl...@rchland.vnet.ibm.com> wrote:
> http://www.xanalys.com/software_tools/reference/HyperSpec/FrontMatter...

> Looks like it will serve very well.  Is there anything better (he asks greedily)?

What do you mean by "better"?

Paolo
--
EncyCMUCLopedia * Extensive collection of CMU Common Lisp documentation
http://cvs2.cons.org:8000/cmucl/doc/EncyCMUCLopedia/


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Jul 18 2001, 9:22 am
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.net>
Date: Wed, 18 Jul 2001 13:22:10 GMT
Local: Wed, Jul 18 2001 9:22 am
Subject: Re: So, where's the "Javadoc" for COMMON Lisp?
* Marcin Tustin

> Actually, how powerful is the document string feature? (I'll go read about
> it later)? Has anyone found the need to build something more like javadoc
> (or Doxygen)? (I do mean javadoc, not api documentation).

  In this day and age with "web browsers" used for everything, I think it
  would have been a better idea than my hyperspec.el thing (which others
  have also done) to keep URLs in the documentation strings of standard
  symbols and of symbols exported from implementation-specific packages.
  The generic function documentation does not necessarily need to return a
  constant URL, but could build it from on-site or off-site base URLs,
  possibly even build it from the symbol name and documentation type.  The
  Lisp system would interact with the browser with the established remote
  control features, at least available in Netscape under Unix and Linux.

#:Erik
--
  There is nothing in this message that under normal circumstances should
  cause Barry Margolin to announce his moral superiority over others, but
  one never knows how he needs to behave to maintain his belief in it.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Kent M Pitman  
View profile  
 More options Jul 18 2001, 10:22 am
Newsgroups: comp.lang.lisp
From: Kent M Pitman <pit...@world.std.com>
Date: Wed, 18 Jul 2001 14:20:34 GMT
Local: Wed, Jul 18 2001 10:20 am
Subject: Re: So, where's the "Javadoc" for COMMON Lisp?

Erik Naggum <e...@naggum.net> writes:
> * Marcin Tustin
> > Actually, how powerful is the document string feature? (I'll go read about
> > it later)? Has anyone found the need to build something more like javadoc
> > (or Doxygen)? (I do mean javadoc, not api documentation).

>   In this day and age with "web browsers" used for everything, I think it
>   would have been a better idea than my hyperspec.el thing (which others
>   have also done) to keep URLs in the documentation strings of standard
>   symbols and of symbols exported from implementation-specific packages.

(Why just those and not even user-defined symbols?)  I think this is a
great idea.  Is there any reason we couldn't just start doing this?
It's pretty easy to write a URL-P predicate, and so it's even
compatible with other uses of the doc string...

>   The generic function documentation does not necessarily need to return a
>   constant URL, but could build it from on-site or off-site base URLs,
>   possibly even build it from the symbol name and documentation type.  The
>   Lisp system would interact with the browser with the established remote
>   control features, at least available in Netscape under Unix and Linux.

Good idea, too.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Marco Antoniotti  
View profile  
 More options Jul 18 2001, 11:24 am
Newsgroups: comp.lang.lisp
From: Marco Antoniotti <marc...@cs.nyu.edu>
Date: 18 Jul 2001 11:21:32 -0400
Local: Wed, Jul 18 2001 11:21 am
Subject: Re: So, where's the "Javadoc" for COMMON Lisp?

Kent M Pitman <pit...@world.std.com> writes:

> Erik Naggum <e...@naggum.net> writes:

> > * Marcin Tustin
> > > Actually, how powerful is the document string feature? (I'll go read about
> > > it later)? Has anyone found the need to build something more like javadoc
> > > (or Doxygen)? (I do mean javadoc, not api documentation).

> >   In this day and age with "web browsers" used for everything, I think it
> >   would have been a better idea than my hyperspec.el thing (which others
> >   have also done) to keep URLs in the documentation strings of standard
> >   symbols and of symbols exported from implementation-specific packages.

> (Why just those and not even user-defined symbols?)  I think this is a
> great idea.  Is there any reason we couldn't just start doing this?
> It's pretty easy to write a URL-P predicate,

Not so fast.... Have you looked at the UR[LI] spec?
Anyway there is the CommonURI package at www.dataheaven.de.

> and so it's even
> compatible with other uses of the doc string...

> >   The generic function documentation does not necessarily need to return a
> >   constant URL, but could build it from on-site or off-site base URLs,
> >   possibly even build it from the symbol name and documentation type.  The
> >   Lisp system would interact with the browser with the established remote
> >   control features, at least available in Netscape under Unix and Linux.

> Good idea, too.

Yep.  Very good indeed.  However, I would not discard the idea of a
Document Generator.  I like to have "clean" doc strings in lieu of
comments.

Cheers

--
Marco Antoniotti ========================================================
NYU Courant Bioinformatics Group        tel. +1 - 212 - 998 3488
719 Broadway 12th Floor                 fax  +1 - 212 - 995 4122
New York, NY 10003, USA                 http://bioinformatics.cat.nyu.edu
                    "Hello New York! We'll do what we can!"
                           Bill Murray in `Ghostbusters'.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Jul 18 2001, 11:41 am
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.net>
Date: Wed, 18 Jul 2001 15:41:51 GMT
Local: Wed, Jul 18 2001 11:41 am
Subject: Re: So, where's the "Javadoc" for COMMON Lisp?
* Kent M Pitman

> (Why just those and not even user-defined symbols?)

  Primarily because they would be in "sealed" packages with their external
  specification and documentation, anyway.  It would be a waste to keep a
  watered-down version in documentation strings.

* Marco Antoniotti <marc...@cs.nyu.edu>

> However, I would not discard the idea of a Document Generator.  I like to
> have "clean" doc strings in lieu of comments.

  I think there is something to be said for a low-cost documentation like a
  simple string.  As I expect more from the specification in the HyperSpec
  and I expect more from vendor documentation, I expect that documentation
  for code in development _not_ be polished and indexed and everything web
  pages, but rather something that is so easy to write well and maintain at
  a high quality that it does not seem like the drag that documentation so
  often is considered to be.  I also personally prefer to leave the quality
  publication job to people who are good at it, instead of me trying to to
  something I both dislike and feel inept at.  One of the reasons I do not
  write a lot of web pages is that I have tremendous respect for typography
  and nearly everything I do with that abominable HTML thing really sucks
  -- much less than most of what is out there on the "web", but it still
  looks mostly awful and screams incompetence.  Although not only and not
  necessarily mine, I still get blamed for how it looks.  I would much
  rather publish something in PDF than that hot toy markup language.

#:Erik
--
  There is nothing in this message that under normal circumstances should
  cause Barry Margolin to announce his moral superiority over others, but
  one never knows how he needs to behave to maintain his belief in it.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Kent M Pitman  
View profile  
 More options Jul 18 2001, 11:50 am
Newsgroups: comp.lang.lisp
From: Kent M Pitman <pit...@world.std.com>
Date: Wed, 18 Jul 2001 15:47:19 GMT
Local: Wed, Jul 18 2001 11:47 am
Subject: Re: So, where's the "Javadoc" for COMMON Lisp?

Admittedly, I was thinking of something that would only work
99.9999999999% of the time, like
 (string-equal doc-string "http:/" :end1 (min (length doc-string) 6))

And I wasn't worried about parsing it--just recognizing it.  You can just
hand it straight to a browser and let it do the parsing.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Bob Bane  
View profile  
 More options Jul 18 2001, 12:43 pm
Newsgroups: comp.lang.lisp
From: Bob Bane <b...@removeme.gst.com>
Date: Wed, 18 Jul 2001 12:28:01 -0400
Local: Wed, Jul 18 2001 12:28 pm
Subject: Re: So, where's the "Javadoc" for COMMON Lisp?
Several years ago, I downloaded a system named LISPDOCU written by
Johannes Beck (b...@ki-server.informatik.uni-wuerzburg.de) that inhaled
CL and emitted documentation in HTML, TeX, or rtf.  It worked pretty
well, but you could fool it with code of the form:

(macrolet
  ((dm (real-name arg1 ...)
     `(defmacro ,real-name (,arg1 ...)
       ... )))

  (dm boiler-plate1 ... ))

because it didn't actually define/macroexpand the code it analyzed
(which would have made it interesting when it was used to generate its
own documentation, I suppose).  I remember hacking it to handle the few
odd top-level cases like the above that I occasionally do.

The links for it at www.alu.org have gone stale, and I can't locate the
author.  I have my copy, and I don't see any licensing text in it, so I
suppose I could put it up for FTP, but I would feel better about doing
so if the author said it was OK to do so.  Anyone know how to contact
him?

--
Remove obvious stuff to e-mail me.
Bob Bane


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Raymond Toy  
View profile  
 More options Jul 18 2001, 1:33 pm
Newsgroups: comp.lang.lisp
From: Raymond Toy <t...@rtp.ericsson.se>
Date: 18 Jul 2001 13:27:14 -0400
Local: Wed, Jul 18 2001 1:27 pm
Subject: Re: So, where's the "Javadoc" for COMMON Lisp?

>>>>> "Marcin" == Marcin Tustin <Marc...@GUeswhatthisbitisfor.mindless.com> writes:

    Marcin> Actually, how powerful is the document string feature? (I'll go read about
    Marcin> it later)? Has anyone found the need to build something more like javadoc
    Marcin> (or Doxygen)? (I do mean javadoc, not api documentation).

I'm not familiar with javadoc, but perhaps Mark K's user_man package
is what you are looking for.  (See the CMU AI archives).  It extracts,
I think, the docstrings of functions and produces TeX output for the
function and docstring.

Ray


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Jul 18 2001, 1:33 pm
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.net>
Date: Wed, 18 Jul 2001 17:33:43 GMT
Local: Wed, Jul 18 2001 1:33 pm
Subject: Re: So, where's the "Javadoc" for COMMON Lisp?
* Kent M Pitman

> Admittedly, I was thinking of something that would only work
> 99.9999999999% of the time, like
>  (string-equal doc-string "http:/" :end1 (min (length doc-string) 6))

  There are a number of possible "schemes", or whatever they are called,
  besides "http", but the general syntax is still supposed to be preserved.
  It is almost like namestrings for pathnames, only far less intelligently
  done (regardless of what anyone might think of pathnames), due to the
  near-fatal case of standard-optionitis.

  I do _not_ propose that the URL should be (in) the documentation string.
  What I really wanted was a way to link the _real_ documentation to the
  symbol and documentation type through that function.  I think it would be
  ideal if that function launched the browser in a friendly way, and if it
  returned nil to the caller, that would not be a problem.

  Since documentation strings are routinely discarded by most CL systems,
  the best way to do this would be to use an interface that could take a
  package name, a symbol name, and the documentation type.  This would be a
  lot easier to implement on top of the generic function documentation than
  interfacing with magic values of the documentation string.

#:Erik
--
  There is nothing in this message that under normal circumstances should
  cause Barry Margolin to announce his moral superiority over others, but
  one never knows how he needs to behave to maintain his belief in it.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Jul 18 2001, 2:09 pm
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.net>
Date: Wed, 18 Jul 2001 18:09:43 GMT
Local: Wed, Jul 18 2001 2:09 pm
Subject: Re: So, where's the "Javadoc" for COMMON Lisp?
* Raymond Toy

> I'm not familiar with javadoc, but perhaps Mark K's user_man package
> is what you are looking for.  (See the CMU AI archives).  It extracts,
> I think, the docstrings of functions and produces TeX output for the
> function and docstring.

  I think this is a bad way to use documentation strings.  This is also why
  I think literate programming is bunk.  The best case of documentation
  strings put to real use that I know of is GNU Emacs.  Even with Emacs,
  there is a separate manual, written to be _read_, that describes a lot
  more stuff in a pedagogical order and with an eye to physical proximity
  of related details and information.  Documentation strings are somewhat
  like hypertext at its worst (i.e., not much better than the Web): They
  are intended to be read in a very well-defined context of pre-existing
  knowledge.  Just like the argument list of a function should not be used
  to tell those who do not know what it does how to use it, documentation
  strings should not be considered the final word.  Extracting them into an
  external file in randomized order (such as alphabetically by symbol name)
  is worse than useless -- a programmer who used them intelligently would
  arrive at them through a path of discovery that has no relation to simple
  collation orders.

  The more standardized something is, the more one must expect people to
  know it.  A brief documentation string would not suffice for symbols in
  the common-lisp package, because anything that could be written briefly
  would already be known to the reader.  The need for access to the full-
  blown documentation in a nicely formatted and consistent form arises from
  the fact that people will look for different minute details and should be
  able to end their search quickly because they are in known territory.

  Writing good documentation is hard, because intelligent people bore
  easily and just put down documentation that explains the obvious, yet do
  not use documentation that fails to be readable.  What should be in the
  documentation is stuff that people cannot figure out for themselves
  faster than reading it.  That is why I love specifications to be online
  and why I think hypertext in specifications is such a wonderful use of
  the technology.  This is why I wrote hyperspec.el.  But now I want the
  same level of documentation for vendor-supplied pacakges that come with
  tons of high quality documentation, although more of a tutorial kind than
  specifications, since it is written after the fact, rather than before.

  The reason I think literate programming is so stupid is the same reason I
  found SGML's promise of "one source, multiple publications" to be so
  hollow and ignorant.  A piece of text has an audience, a context, and a
  set of expectations associated with it.  Until we can program computers
  to deal with this, _people_ need to write text for different audiences,
  different contexts, and different expectations.  When I look at code, I
  expect the documentation there to help me understand it.  When I read the
  documentation, I hope to understand the system design.  If the system
  design expectation is attempted filled by giving me a mere dump of the
  code documentation sans code, I have reason to accuse people of fraud.
  When I read specifications, I expect it to become the background noise of
  my own expectations when I deal with a conforming system.  (This is why
  lack of conformance is so much more annoying than bugs in stuff that does
  nto purport to conform to a specification; I have to become _conscious_
  of my expectation that the specification is actually implemented, and
  that means having to test for it and not being able to believe it.  This
  is like asking people if they understand every word you use, instead of
  assuming that you agree to speaking the same language.)

  Also, please note that a lot more than functions have documentation.
  That often tends to be forgotten in systems that primarly have functions
  as exportable interface concepts.  Classes, slots, types, packages,
  variables, and a lot more stuff have documentation in Common Lisp.  It is
  sometimes hard to understand how people who invented these things could
  be so futuristic that they would foresee such needs.  (It is likewise sad
  to see vendors completely ignoring the specification and reinventing the
  wheel badly when the "need" suddenly arises and half-assed stuff like the
  "web" suddenly appears.)

#:Erik
--
  There is nothing in this message that under normal circumstances should
  cause Barry Margolin to announce his moral superiority over others, but
  one never knows how he needs to behave to maintain his belief in it.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Johannes Beck  
View profile  
 More options Jul 18 2001, 2:59 pm
Newsgroups: comp.lang.lisp
From: Johannes Beck <johannes.b...@arcormail.de>
Date: Wed, 18 Jul 2001 20:57:49 +0200
Local: Wed, Jul 18 2001 2:57 pm
Subject: Re: So, where's the "Javadoc" for COMMON Lisp?
Hello Bob, Hello c.l.l

I don't read c.l.l very often these days but I got this forwarded.

The first version had indeed a parser which used
read/macroexpand/read-table stuff and it always crashed horribly because
this only works if you scan files in the wrong order. So I had to make
this (horrible, I agree) text-based scanner and parser where LISP could
be so fine when it comes to treating source code as a structured data.

I did this as a student job for some university project with tons of
source files with very strange loaders. And read or some functions using
it will be unhappy if they find a symbol 'somepackage:myfun before you
have an export definition for this. I was not happy with the solution
myself and I had no knowlegde of how to write a decent parser so it's a
hack. If anybody wants to do it right, here's the solution (just code
it):

1) use defsystem to define modules, load them
2) let the documentation tool go through the defsystem definitions and
scan the files with read/macroexpand/etc (the files are all loaded and
let's say well-defined)

> The links for it at www.alu.org have gone stale, and I can't locate the
> author.  I have my copy, and I don't see any licensing text in it, so I
> suppose I could put it up for FTP, but I would feel better about doing
> so if the author said it was OK to do so.  Anyone know how to contact
> him?

I remember there was a disk failure and the web pages were gone without
backup.

You can find it at (how to point ALU to this?):

http://home.arcor-online.de/johannes.beck/lispdocu/

And if there's additional code I would collect them and publish them
here. Maybe I find the time on a rainy evening and even integrate
changes.

And well, there's no licence at all in this, so feel free to do what you
want with it.

Bye
        Johannes


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Larry Loen  
View profile  
 More options Jul 18 2001, 7:05 pm
Newsgroups: comp.lang.lisp
From: Larry Loen <lwl...@rchland.vnet.ibm.com>
Date: Wed, 18 Jul 2001 17:48:55 -0500
Local: Wed, Jul 18 2001 6:48 pm
Subject: Re: So, where's the "Javadoc" for COMMON Lisp?

"Pierre R. Mai" wrote:
> All of those "lets generate reams of documentation automatically from
> the code and mixed-in comments" tools I've ever encountered just
> produce thousands of pages (either hard-copy, electronic or hyper-text)
> of documentation for even smallish programs, that no-one in their right
> mind would want to read.

> In other words:  Those tools are great for appeasing management that
> insists on stacks of documentation (instead of focusing on quality
> documentation), and/or for those that are somehow psychologically
> incapable of reading source code, but other than that they are an
> incredible waste of space.

Man, do we live in different worlds.  I personally am very tired of this attitude of "go read my 100,000 line of code application to understand it."
I'm sorry, I just don't have that kind of time in my job.

I'm very capable of reading source code in a great many languages; I hope to include LISP in that set.  But, if I had to routinely look at nothing but
source code, my job (performance analysis) would be entirely impractical (at least if practical is defined as getting more than one thing done a
year).  My job is aptly defined in many cases as finding the right needle in the right haystack.  Sometimes, that requries code reading, but I need
something more than the root directory of a multi-million line of code OS to know where to start.  Good design doc is often a godsend.  We do seem to
agree on that.

I do take your point that automatic documentation generators (from code) have limits.  You'll note I said "good".  A forklift full of detail comments
is, I presume you agree, nonesense.

But, I've been pretty happy with Javadoc.  The tool is no more capable than the several I've used before and doubless earned the ire of us both.  It
must have something to do with the culture -- most of it is a pretty good predictor of how to use the widget, which is what I normally need.  And yet,
in theory, it is no better than any of the other "embed this in source code stuff" I've seen before.

Larry


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Tim Bradshaw  
View profile  
 More options Jul 18 2001, 7:45 pm
Newsgroups: comp.lang.lisp
From: Tim Bradshaw <t...@cley.com>
Date: 19 Jul 2001 00:44:11 +0100
Local: Wed, Jul 18 2001 7:44 pm
Subject: Re: So, where's the "Javadoc" for COMMON Lisp?

* Larry Loen wrote:
> Man, do we live in different worlds.  I personally am very tired of
> this attitude of "go read my 100,000 line of code application to
> understand it."  I'm sorry, I just don't have that kind of time in
> my job.

I don't think anyone is suggesting that.  I think they're suggesting
you load the system into your introspective environment and start
asking questions about it.

--tim


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Paolo Amoroso  
View profile  
 More options Jul 19 2001, 11:03 am
Newsgroups: comp.lang.lisp
From: Paolo Amoroso <amor...@mclink.it>
Date: Thu, 19 Jul 2001 16:56:59 +0200
Local: Thurs, Jul 19 2001 10:56 am
Subject: Re: So, where's the "Javadoc" for COMMON Lisp?

On Wed, 18 Jul 2001 17:33:43 GMT, Erik Naggum <e...@naggum.net> wrote:
>   I do _not_ propose that the URL should be (in) the documentation string.

What about a symbol property?

Paolo
--
EncyCMUCLopedia * Extensive collection of CMU Common Lisp documentation
http://cvs2.cons.org:8000/cmucl/doc/EncyCMUCLopedia/


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Pierre R. Mai  
View profile  
 More options Jul 19 2001, 11:35 am
Newsgroups: comp.lang.lisp
From: "Pierre R. Mai" <p...@acm.org>
Date: 19 Jul 2001 16:53:10 +0200
Local: Thurs, Jul 19 2001 10:53 am
Subject: Re: So, where's the "Javadoc" for COMMON Lisp?

You also don't seem to have the time to read usenet postings
thoroughly, it seems to me.  While there are certainly things I could
have better expressed in my posting, I'm quite certain that even the
text you quoted should have given you enough of a hint that I don't
propagate the "lets have no documentation, because the source is the
whole documentation" position at all (note for example my reference to
_quality_ documentation).  In fact I accuse automatic documentation
generators (ADGs for short) of propagating that view in only a
slightly modified form.

Given that I've done a fair share of maintenance programming of other
foreign and own systems in my live, I think I have a fairly solid
grasp of what I've found to be useful (i.e. quality) documentation,
and what not.  And I have never found automatically generated
documentation to be any substitute for quality documentation.  What
automatically generated documentation is, is a statically restricted
and automatically cross-referenced view onto the source code.  This
doesn't constitute documentation, it is just a poor substitute for
interactive development systems that let me get at exactly the same
information (and often more of it) in a much more automated,
integrated and selective way.

> I'm very capable of reading source code in a great many languages; I
> hope to include LISP in that set.  But, if I had to routinely look
> at nothing but source code, my job (performance analysis) would be
> entirely impractical (at least if practical is defined as getting
> more than one thing done a year).  My job is aptly defined in many
> cases as finding the right needle in the right haystack.  Sometimes,
> that requries code reading, but I need something more than the root
> directory of a multi-million line of code OS to know where to start.
> Good design doc is often a godsend.  We do seem to agree on that.

Exactly.  ADGs don't produce that kind of documentation, because
thousands of comments in the source code is not the kind of place to
put high- and mid-level design information.  And when I want
information on the high- or mid-level design of a system, I don't
normally care about myriad of method signatures at the same time.

As I (perhaps with less than the required clarity) stated in my
original posting, I see at least three-four different kinds of
information I might be interested in, when working on/with a system:

A) High- and medium-level requirements, analysis, design
   documentation.  This is completely independent of source code
   layout or information.  It should be written in a well-structured,
   prose style, possibly with relevant (pseudo-)formal notation thrown
   in for good measure (if you believe in formalisms at that level).
   See Erik Naggum's posting <3204468580853...@naggum.net> for more on
   this topic.

   Automatic documentation generators don't have a place at this level
   at all, IMNSHO, but sadly I've often found that their use in
   projects lowered the effort put into this kind of documentation,
   because it is easier to just dump all your knowledge into
   unstructured comments, than take the time to create a structured
   and polished presentation.

B) Public interface documentation, which includes signatures and short
   functional descriptions of said entities.  This is where automatic
   documentation generators shine, _in languages which don't offer
   environments that give you advanced interactive introspection and
   documentation capabilites, which will provide you with all of the
   information e.g. javadoc/doxygen give you, and some more, but in a
   much more directly useful way[1].  Again, take a look at any
   half-decent Lisp environment, and you will find all of this
   available at the touch of a button/key.  

   For example, in my working environment, C-c d will give me the
   doc-string for any entity in the system, C-c i will describe it,
   C-c I will inspect it, C-c a will give me the argument list for any
   function (it will also automatically flash the arg-list in the
   minibuffer while I type), C-c h will give me the HyperSpec entry
   for any standard-mandated entity, M-. will take me to the
   definition(s) of a given entity, C-c ^ will take me to the callers
   of a given function, etc. There's also tons of per-project
   customized stuff, so that I can get at specifications for certain
   functions, etc. with a simple command, etc.

B+) For high-quality libraries or semi-autonomous subsystems, there
    should be low-level API documentation that includes the
    information in B, but should include relevant information from A,
    and tie the whole API together in a well structured, presentation
    that combines tutorial and reference, specification and design
    in one.  The ("library part" of the) ANSI CL standard is an
    example of such high-quality documentation, IMHO, and I've only
    seen a couple of other projects that achieved that level of
    documentation.  Ideally, all units/subsystems of any project
    should achieve such a high level of quality of presentation, but
    realistically, this is very expensive, and very seldomly achieved
    in my experience.  It is though one of the necessary ingredients
    for succesful inter-project or even inter-team reuse, IMHO (which
    might explain the relatively low levels of reuse achieved by most
    companies).

C) Source-code unit-level implementation documentation.  Since you
   should by definition only need that kind of information when you
   are working at the unit in question (if that's not the case, then
   you already have even more urgent problems than documentation),
   the source for the unit should already be at your fingertips (in
   your editor).  So everything that javadoc-style systems will have
   generated from such a file will already be in plain view then.  No
   need for a separate, static, non-up-to-date view of the same,
   then.

   In combination with A and B (and B+), this should be pretty much
   all you need to work with the implementation.  And again, any
   half-way decent environment will give you even better access than
   javadoc-style documentation, by e.g. giving you interactive and
   batch regexp-search capabilities across whole projects,
   advanced cross-referencing, etc.

> I do take your point that automatic documentation generators (from
> code) have limits.  You'll note I said "good".  A forklift full of
> detail comments is, I presume you agree, nonesense.

But that's the kind of stuff I've seen most often included in such
systems.  If I was lucky, then I found the stuff that is included in
decent doc-strings as part of the API documentation, but that was
all.  And that included the documentation entries I wrote myself.

So while I think that javadoc-style ADGs might be an improvement in
languages that provide impoverished environments and language support
for introspection and documentation, I fail to see the advantage they
would bring to CL.  And I see the dangers that they inherently create,
since by incentivizing keeping documentation and source-code together,
they dis-incentivize the proper maintenance of separate documentation
(which is already suffering from enough pressures that it is often
sorely neglected), in my experience.

CL environments are guilty of that to some degree, too, since there is
no standard for integrating stand-alone documentation with the
environment, so that e.g. accessing CMU CL documentation is more
painful than e.g. accessing the HyperSpec, and that's a tiny bit more
painful than asking the system about some arglist or doc-string.
Dito for maintenance:  It's simpler to adjust the doc-string of a
function (or rewrite a comment), when something changes, than
adjusting the out-of-line documentation.  That's where management
processes and project-guidelines must step in, to reverse the
inevitable trend...

> But, I've been pretty happy with Javadoc.  The tool is no more
> capable than the several I've used before and doubless earned the
> ire of us both.  It must have something to do with the culture --
> most of it is a pretty good predictor of how to use the widget,
> which is what I normally need.  And yet, in theory, it is no better
> than any of the other "embed this in source code stuff" I've seen
> before.

There's the possibility that either our experiences or our standards
just differ, of course.  But last time I seriously looked at the state
of e.g. publically available Java libraries, I was not impressed by
by the quality of the documentation.

In any case,  I hope my current posting has cleared up any
mis-impressions of my position.

Regs, Pierre.

Footnotes:
[1]  If you are a developer.  There is a case for generating static
     snapshots of some of that information in order to pass it to
     e.g. QA people in order for them to write test-cases, etc.  It is
     no problem to write tools that generate that kind of snapshot
     from the stuff that is available in a good Lisp environment.
     That still doesn't
...

read more »


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Raymond Toy  
View profile  
 More options Jul 19 2001, 12:33 pm
Newsgroups: comp.lang.lisp
From: Raymond Toy <t...@rtp.ericsson.se>
Date: 19 Jul 2001 12:21:49 -0400
Local: Thurs, Jul 19 2001 12:21 pm
Subject: Re: So, where's the "Javadoc" for COMMON Lisp?

>>>>> "Pierre" == Pierre R Mai <p...@acm.org> writes:

    Pierre> CL environments are guilty of that to some degree, too, since there is
    Pierre> no standard for integrating stand-alone documentation with the
    Pierre> environment, so that e.g. accessing CMU CL documentation is more
    Pierre> painful than e.g. accessing the HyperSpec, and that's a tiny bit more
    Pierre> painful than asking the system about some arglist or doc-string.
    Pierre> Dito for maintenance:  It's simpler to adjust the doc-string of a
    Pierre> function (or rewrite a comment), when something changes, than
    Pierre> adjusting the out-of-line documentation.  That's where management
    Pierre> processes and project-guidelines must step in, to reverse the
    Pierre> inevitable trend...

What do you think of gcl's approach where the doc-strings are really
held in an info file that describe and friends look through?  Granted,
the current info file basically looks something like what an ADG would
generate, it at least has the potential of being something more,
perhaps even like the Hyperspec.

Ray


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Jul 19 2001, 3:21 pm
Newsgroups: comp.lang.lisp
From: Erik Naggum <e...@naggum.net>
Date: Thu, 19 Jul 2001 19:21:49 GMT
Local: Thurs, Jul 19 2001 3:21 pm
Subject: Re: So, where's the "Javadoc" for COMMON Lisp?
* Paolo Amoroso <amor...@mclink.it>

> What about a symbol property?

  That would also work, but in essence, the mapping from package plus
  symbol name and documentation type is nearly an ideal match for the way
  URLs may contain queries.  This way, we can outboard the mapping and use
  it from other places, too, instead of making all that enormous amount of
  data hang around in the Lisp image.  After all, part of the reason
  documentation strings are usually discarded from delivered images is that
  they take up a significant amount of space, although many would argue
  that this is not a valid reason in our time.  Another issue is that some
  people may prefer to translate the specification to their favorite
  non-English language, which would either mean a lot of new properties and
  string values in the name of "localization" and "internationalization",
  or simply a language-sensitive server that returned the appropriate
  language version if available.  Finally, the reason I want documentation
  for "stable" packages to be available in hypertext is that some people
  may need to go back to a tutorial if they are still confused or need
  examples and the like.  If the WWW had actually _been_ hypertext <insert
  long and pained sigh>, it would have been possible for a user to add
  links between disjoint documents, but we need to figure out a way to do
  that outside of that immensely retarded _tragedy_ called HTML.

#:Erik
--
  There is nothing in this message that under normal circumstances should
  cause Barry Margolin to announce his moral superiority over others, but
  one never knows how he needs to behave to maintain his belief in it.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Messages 1 - 25 of 202   Newer >
« Back to Discussions « Newer topic     Older topic »