Bob R wrote:
> I would prefer to see a specification of what is available now and also
make sure it clearly covers what is in /core first.

It should be possible using Rebol's reflection of words to be able to
automatically scan all of system/words, and write a small HTML page for each
word, that contains basically what 'help and 'source provide. Then, working
from the inputs to each word/function link to a few pages describing each
data-type then back (using reverse links) to other words that work with that
data type. For example:
        clear.html - describes the 'clear function
    Inside %clear.html would be something like:

USAGE:
    CLEAR series

DESCRIPTION:
     Removes all values from the current index to the tail. Returns at tail.
     CLEAR is an action value.

ARGUMENTS:
     series -- (Type: series port)
Source:
clear: native [
    {Removes all values from the current index to the tail. Returns at
tail.}
    series [series! port!]
]

Clicking on the hyperlink on "series!" takes you to page:
        series!.html - which describes what a series is like:

>> help series!
No information on series! (word has no value)

    But a bit more informative. There would also be a series of back links
on the _same_ html page that refer to all the words that take a series,
like:
        clear
        head
        tail
    Clicking on any of these words takes you to the HTML page for that word.
For example, clicking on "tail" takes you to:
        tail.html - which describes what 'tail does:

USAGE:
    TAIL series

DESCRIPTION:
     Returns the series at the position after the last value.
     TAIL is an action value.

ARGUMENTS:
     series -- (Type: series port)

Source:
tail: native [
    {Returns the series at the position after the last value.}
    series [series! port!]
]

This way, a truly informative document of any Rebol version and loaded piece
of rebol script that has words defined in system/words can be documented in
one rebol object/component, fully automatically and including any additions
that have been installed into %user.r. It's also fully updateable at any
time.

Andrew Martin
ICQ: 26227169
http://members.nbci.com/AndrewMartin/
http://members.xoom.com/AndrewMartin/
-><-

Reply via email to