Welcome to the Rebol Help System
The Rebol binary ships with documentation of each function’s purpose, the allowable types of parameters and return values, and descriptive strings for parameters. This information is always available with the HELP function:
>> help help USAGE: HELP 'word /doc DESCRIPTION: Prints information about words and values. HELP is a function value. ARGUMENTS: word (any-type!) REFINEMENTS: /doc -- Open web browser to related documentation.
Additional documentation, such as example code, is available here on help.rebol.org. If you’re online you can tell the HELP command to open a browser at the right place…
>> help/doc help
When functions are specified in Rebol, their parameters and return types are defined using what is known as the “function specification dialect”. This offers many interesting features (like defining an interface in a variable and reusing it whole or in part), but you can also place Rebol strings in certain positions:
tweet: func [ "Post a Status Update on Twitter" status [string!] "Status Message (must be 140 characters or less)" /as-reply "Include a reference to a prior status" in-response-to [integer! issue!] "ID of prior status" ][ assert [140 >= length? status] write twitter ... ]
The interpreter stores the specification and when you request HELP on your function, generates a readable description:
>> ? tweet USAGE: TWEET status /as-reply in-response-to DESCRIPTION: Post a Status Update on Twitter TWEET is a function value. ARGUMENTS: status -- Status Message (must be 140 characters or less) (string!) REFINEMENTS: /as-reply -- Include a reference to a prior status in-response-to -- ID of prior status (integer! issue!)
Rebolers are on StackOverflow Q&A and chat 24 hours a day.
Rebol’s friendly and enthusiastic community is worldwide, and almost always someone is online to answer questions. So if something isn’t clear from the help pages, don’t hesitate to come and ask!