[REBOL] A FORMAL REBOL SPECIFICATION Re:(2)
From: al:bri:xtra at: 1-Oct-2000 15:24
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/