Rebol Programming/Jargon

Rebol uses a number of terms that can be confusing to those new to computer languages. We shall attempt to explain a number here.

Protocols
A protocol is an agreed way of performing a task. In the real world, tribal affairs are bound by protocol - who can speak, and who can reply, and the same type of restrictions apply when we interface with something outside of REBOL.

When we retrieve email using POP3, we use the POP3 protocol in formatting our messages, and reading replies. POP3 is a line oriented protocol which means that commands are sent one line at a time, and terminated with a newline character.

Schemes
Rebol's POP3 implementation is called the POP3 scheme. The scheme refers to the code that implements the POP3 protocol.

You can see which schemes are installed as follows:

>> probe next first system/schemes [default Finger Whois Daytime SMTP ESMTP POP IMAP HTTP FTP NNTP] == [default Finger Whois Daytime SMTP ESMTP POP IMAP HTTP FTP NNTP]

The list omits the low level schemes such as TCP and UDP.

You can install your own or third party schemes such as the mysql scheme from Nenad Rakocevic ( alias DocKimbel ).

Handlers
The scheme code creates what is called a handler at run time. The handler code is a code object that is in general is based upon a default handler that manages the common requirements when dealing with network connections. It thus has the code for opening, closing, reading and writing to a network connection. Different schemes will build further upon the default handler to create a specific handler.

You can examine the source code for the whois handler with

probe get in system/schemes 'whois