| Index: > A B C D E F G H I J K L M N O P Q R S T U V W X Y Z |
|
|||||
| First Prev [ 1 2 ] Next Last |
REBOL is designed by Carl Sassenrath, former primary developer of AmigaOS.
The REBOL interpreter is available for a wide range of platforms (over 40).
The interpeter is S-M-A-L-L!! REBOL/Core is ~270kB and REBOL/View is ~500kB. The application scripts are rarely more than a few hundred kB, enabling you to package and transport the intepreter and scripts on a single floppy disk! (Note the interpreter sizes vary a bit for the different platforms.)
REBOL has a simple installation routine. It is simply placed into a location of your choice; no registry settings, no hidden files, no hassles.
It provides platform-independent graphics and sound access, and comes with its own windowing toolkit and widget set. The REBOL community is interlinked through a "REBOL desktop", a graphical representation of REBOL-related files stored on the Internet that is installed together with the REBOL interpreter. The REBOL desktop itself is a REBOL application.
REBOL is designed to handle a wide range of applications, but specifically aims to make distribution of objects and use of network connections simple. It has many specific data types, including a currency type and a URL type.
REBOL is context sensitive which provides support for dialecting. A classic example of REBOL's context sensitivity is seen with the word return. Under normal evaluation, return exits a function possibly passing back a result value. In the context of the Visual Interface Dialect (VID), an occurrence of the word return causes the layout engine to behave similar to carriage return, moving the "rendering pen" down to the beginning of the next line. REBOL programmers can create their own dialects possibly reusing any existing REBOL word with a different meaning in the context of the dialect.
]
view layout [text "Hello world!" button "Quit" [quit]]
And here is a simple internet application that uses two internet services, HTTP and SMTP:
]
send branko@collin.example read http://www.rebol.com
(Please note that the Header section, beginning with the word Rebol, is required in scripts so the interpreter knows where the script begins. The header need comprise only REBOL []; however, good practice encourages a verbose, descriptive header such as shown in the examples.)
For many more examples, try the REBOL Script Library
A concise introduction to REBOL: REBOL Essentials
For developer notes and development plans: Carl Sassenrath's REBOL blog
The source code of the REBOL interpreter is closed. Originally, licensing of the interpreter was required for distribution of commercial applications. However, REBOL/Core (console version) has been made available for producing distributable commercial applications at no charge, whereas REBOL/View (GUI version) requires licensing for distribution of commercial applications. REBOL is currently available online at: http://www.rebol.com
REBOL provides a native function called parse which you can use to define domain specific languages, often referred to as dialects, by specifying grammar rules in a BNF-like format, much as you would for a parser building tool like yaccYacc is a piece of computer software that serves as the standard parser generator on Unix systems. The name is an acronym for "Yet Another Compiler Compiler. It generates a parser (the part of a program that tries to make sense of the input) based on a gr or GNU bisonGNU bison is a free parser generator computer program written for the GNU project, and available for virtually all common operating systems. It is mostly compatible with yacc, and offers several improvements over the earlier program. However it is not ful. Your rules are interpreted by REBOL at runtime; they are not used to generate code. You can include actions to be taken during the parsing process as well.
Using parse against a string allows you near-complete flexibility, but requires more effort, as it is a lower level approach. Block parsing makes it easier to create dialects, but there is a tradeoff. In block parsing mode, REBOL handles the lexical scanningLexical analysis is the process of taking an input string of characters (such as the source code of a computer program) and producing a sequence of symbols called " lexical tokens", or just "tokens", which may be handled more easily by a parser. A lexical for you and your rules are written at the level of REBOL values, not charactersFor alternate meanings, see character. In computer terminology, a character is a unit of information that roughly corresponds to a grapheme, or written symbol, of a natural language, such as a letter, numeral, or punctuation mark. The concept also include and delimiterThe term delimiter refers to a separating character. In the following sentence, semicolons are used as delimiters between the numbers: 123;234;123;3454353;3453; Delimiters are commonly used in computer files to separate data values. For example, the commas. The up-side to this is that you can write your rules at a much higher level of abstractionThis article is about the concept of abstraction in general. For other uses, please see abstract (disambiguation). Abstraction is the thought process wherein ideas are distanced from objects. Abstraction uses a strategy of simplification of detail, wherei; the downside is that your data must fit within the standard REBOL lexical form.
Another way to look at this is to say that a dialect is a sub-language of REBOL.