a third possibility is similar to whats in place already... have
explicitly
named elements of an associated proplist with each var/func,
optionally.
I assume you mean extending (declare (exports ....)) to something like
(declare
(exports
((square ((required int) (docstring "Returns the square of it's
input"))))))
I think this is an excellent suggestion. The only thing we really need
to document in this way is the public interface of units. Code
comments should suffice for private functions (and some sort of
(define-with-docinfo ....) type form could be made available for cases
where you really need to comment something, or are testing in the
interpreter, but I think that's a separate issue).
Compiling with -X docinfo could add all of this to a unit.db file
which could be optionally loaded, so we could eliminate overhead for
cases where you don't need the info. Perhaps (use-with-info xyz) to
load?
I recently saw a talk on Factor, which has some nice documentation
features built into the standard REPL. Click on a symbol to get
documentation. Certainly not necessary for development, but a similar
system for chicken would probably require some sort of db of symbols
and docstrings.
I promise to go look at the (declare ...) system and help on this
endeavor, if committers think it is a worth while idea.
Cheers,
-Mark
_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users