REBOL/Core Product Information
REBOL messaging language core interpreter, functions, datatypes, and
networking.
REBOL/Core is the kernel of the REBOL distributed computing platform.
Designed for the semantic exchange and interpretation of information
REBOL/Core is the engine that powers all of our products.
REBOL/Core provides system-independent code, a common data model,
compression, and more than a dozen Internet protocols built-in.
Feature Summary
- Machine and System Independent. Programs run on more than 40
platforms without modification. Programs that you create on your
PC will run on your Windows/CE portable, your graphic artist's
Macintosh, your system administrator's Linux, your web site's Sun
Solaris, and dozens of other platforms.
- Integrated Networking. REBOL comes with several common Internet
protocols built-in. No includes, imports, or special libraries are
needed. Protocols include HTTP, FTP, SMTP, POP, APOP, IMAP, NNTP,
Finger, Daytime and more. You can also roll your own with our TCP
and UDP support.
- Rich Set of Built-in Datatypes. In addition to the datatypes
found in most languages, REBOL can also express money, times,
dates, words, tags, logic, lists, hashes, tuples, XY pairs, and
many other datatypes. These are built-in. No other REBOL modules
or libraries are required. This eliminates the "run anywhere but
you don't have everything you need" syndrome and provides a high
level of consistency between all platforms.
- Domain Specific Dialecting. Doctors express their ideas in
medical terms, stockbrokers in trade terms, and quarterbacks in
football terms. Why? Because it's more efficient and productive.
That's the benefit of dialecting. Dialecting is the ability to
create sub-languages that provide you with extra leverage and
productivity by expressing your solutions in terms that are best
suited to your purpose. As an example, check out REBOL/View's
Visual Interface Dialect.
- Multi-level Sandboxes. Several levels of operational security
are built-in. The default is a "safe" mode, where absolutely no
files can be written to or deleted from your system without your
permission. You can adjust the security to your level of comfort
and the trust you place in the script you are running.
- Clean Syntax. REBOL is intended to be read by ordinary humans.
The language is consistent and free from unnecessary punctuation.
Datatypes such as dates, times, money, URLS, email, TCP addresses,
are written exactly how you would expect. No special "constructor"
syntax is required.
- Compression Built-in. You can compress and decompress text and
binary files directly from the language, providing you greater
efficiency in data transfer.
- Small Program Footprint. REBOL downloads from the net in
seconds, or fits on a floppy with room to spare for your scripts.
On most platforms the REBOL system is less than 250 KB in size...
but, don't underestimate it! Every one of those bytes is packed
with substantial power.
- Minimal Installation. Just run it. Want to give it to a friend?
Just copy the program file to a floppy and pass it along.
Advanced Features
- A parser dialect provides a direct method of grammar specification
for dialecting as well as for pattern matching.
- The language allows embedded documentation directly in the
interfaces of functions and the headers of scripts. The
documentation travels with your program, and meta functions like
Help and library archiving can make use of the info.
- The language is symbolic. This allows words to be used to
represent meaning in any data structure or data base.
- It is highly reflective. Programs can easily read and modify other
programs. In fact, REBOL is its own meta-language.
- Functions are highly polymorphic. For instance, you can add not
only numbers, but also times, dates, tuples, money, and xy-pairs.
- Refinement paths provided generic namespace navigation.
- Definitional scoping allows definition-based name binding on demand.
- Prototype-based objects allow cloning, extending, and
one-of-a-kind creation.
- Full exception handling for error recovery.
- Auto-expanding arrays (series) for lists, strings, binary, etc.
- Automatic storage management for simpler programs.
-!-
|