1. Internet Developer / Technology Group
2. Presentation
3. What is REBOL?
4. History
5. Products
6. Basic Ideas
7. REBOL Distributed Computing Elements
8. Advantages
9. Demo Break
10. Foundation Principles
11. Academic Design Principles
12. Other Features
13. Datatypes
14. Example: Header
15. Example: Data
16. Example: Code
17. Example: Results
18. Common Data Model
19. Common Code Model
20. GUI Dialect Examples
21. Example GUI Effects
22. Demo Examples
23. More Information
Return to Top17- April-2001
Carl Sassenrath
Creator of REBOL
Founder & CTO, REBOL Technologies
Return to TopQuick slide presentation (REBOL code: 3.5 KB)
Introduce REBOL Distributed Computing
Describe the REBOL foundation technology
Show a range of examples and demos
Questions?
Return to TopREBOL = lightweight distributed computing
Simpler, cheaper, smaller network applications
Designed from the start for the Internet
Programs and data span client and server
Runs identically across 42 different systems
A new platform for X-Internet applications
Return to Top20 year quest for distributed computing
Hewlett Packard, Apple ATG, Amiga Computer
Operating systems and languages (30+)
-
REBOL/Core (foundation) around for three years
REBOL/View (GUI + Desktop) just released
About 500,000 in distribution & growing fast
Rapidly gaining international acceptance
Many "Reb Sites" now coming on-line
Return to TopREBOL/Core - Foundation language (free)
REBOL/View - Adds graphical interface (free)
REBOL/View/Pro - Adds encryption, shell, libraries
REBOL/Command - Commercial version
REBOL/Express - Collaborative communications
Return to TopProblem: computer-to-computer semantic exchange
REBOL introduces dialect-based distributed computing
Lightweight = Reblets range from 500 bytes to 50 KB
The server, the client, and the message are all REBOL
Dialects (sub-languages) eliminate viruses
Simple things are simple - Like the beginning of the Web
A single ubiquitous model of distributed computing
Return to TopDistributed code model
Common data model
Extensible messaging format
Pervasive Internet protocols
Existing Internet infrastructure
Integrated security
Synchronization, authentication, certification
Offline operation - Dialects, not RPC
Return to TopSimpler, cheaper networking applications, e.g. groupware
Greater end-user satisfaction - more interactive
Offline availability - Laptops, handhelds, dialup
Reduces server loading - by a lot: 10 - 50 times
Significantly decreases network traffic
Very quick and easy to download and install
Return to Top(Show a few demos)
Download REBOL/View (360KB) to see the demos.
Return to TopLanguages lead revolutions... C, HTML, Java, etc.
REBOL: Relative Expression-Based Object Language
Highly expressive & highly productive = Leverage
Simple programs are simple to create
Smooth learning curve from simple to complex
Clean syntax, very little punctuation
Embedded documentation for scripts and functions
Programs run everywhere without modification
Return to TopFirst class, functional, and symbolic language
Highly polymorphic and higher-order functions
Uses prototype-based object model
Reflective language - Its own meta-language
Easy dialecting for domain specific sub-languages
Rich set of primitive datatypes (more than 40)
Definitional scoping: run-time lexical scoping
Return to Top14 Internet Protocols - HTTP, FTP, NNTP, SMTP, POP3
Sandboxes with hard stop security
Built-in compression engine for text and binary
Parser for creating dialects and sublanguages
Refinement paths - generic namespace navigation
DH, DSA, RSA & AES encryption
Server authentication & certification
Downward file synchronization
Auto-expanding series & automatic storage management
Easy exception handling for error recovery
Return to TopMore than 40 datatypes built-in:
integer 1234 decimal 3.1415 1.23E12 0,01 1,2E12 money $123.45 US$123.45 DM$123,45 date 30-Nov-2000 2000-11-30 30-Nov-00/8:30 time 12:34 20:05:32 0:25.34 pair 100x200 tuple 10.5.5.1 200.0.0 3.1.5 string "string" {long strings...} binary #{1A2B3C} 64#{45kLKJOIU8439LKJklj} block [123 "test"] paren (123 * 4) path account/balance match/any USA/CA/Ukiah/size tag <title> <font size="2" color="blue"> issue #707-467-8000 #0000-1234-5678-9999 email luke@rebol.com url http://www.rebol.com file %names.txt char #"A" none logic hash list bitset datatype word object image port error event function native op library get-word lit-path lit-word set-path set-word
Return to TopStart with a REBOL Header:
REBOL [ Title: "REBOL Ale" Date: 30-Oct-1998 File: %beer.r Version: 1.1.0 Author: "Carl Sassenrath" Purpose: "A rich, malty, copper brew." Category: [misc script beer metric] Needs: [core] ]
Return to TopAdd some REBOL Data:
Ingredients: [ 0.5 lb. "Toasted malted barley" 7 lb. "Amber malt extract" 1 lb. "Crystal malt" 1.5 oz. "Northern brewer hops" 1 oz. "Cascade hops" 1 pkg. "Ale yeast" 5 gal. "Sassenranch water" ] Instructions: { After toasting barley to red color (15 minutes), add malt extract and brewer hops, then cook 55 minutes. Add cascade hops and remove from heat. Sparge into remaining cold water. Add yeast when cool. Cheers to the rebolution! } Equivalent: [ ; metric conversions gal. 3.8 l. lb. 0.45 kg. oz. 28.3 g. ]
Return to TopConversion Code:
foreach [amount units description] ingredients [ conversion: find equivalent units either conversion [ print [ amount * second conversion third conversion description ] ][ print [amount units description] ] ]
Return to TopWhen you run the above code, you get:
0.225 kg. Toasted malted barley 3.15 kg. Amber malt extract 0.45 kg. Crystal malt 42.45 g. Northern brewer hops 28.3 g. Cascade hops 1 pkg. Ale yeast 19 l. Sassenranch water
Return to TopData is processed, stored, and exchanged as blocks:
[white red green blue yellow orange black] ["Spielberg" "Back to the Future" 1:56:20 MCA] [ "Bill" billg@ms.com #315-555-1234 "Steve" jobs@apl.com #408-555-4321 "Ted" ted@gw2.com #213-555-1010 ] [ "John" 6894 0:55:68 "Dion" 68861 0:61:35 "Floyd" 46001 0:50:12 ]
Return to TopCode also grouped with blocks:
if time > 6:30 [send bill@example.com "wake up"] if now/date = 6-Jun-2001 [ send friend@example.com "Happy 40th birthday" ] loop 20 [ wait 8:00 send bob@vegas.org read http://www.cnn.com ] sites: [ http://www.rebol.com [save %reb.html data] http://www.cnn.com [print data] ftp://www.amiga.com [send cs@org.foo data] ] foreach [site action ] sites [ data: read site do action ]
Return to TopDisplay a window with a button:
view layout [button "A Button"]Show a list of all REBOL words:
view layout [text-list data sort first system/words]Another example:
view layout [ backdrop %ferns.jpg effect [ fit gradcol 1x1 100.0.0 0.0.250] banner "Style Examples" box red 240x2 text bold "There are 40 styles built into REBOL." button "Great" toggle "Press" "Down" rotary "Click" "Several" "Times" choice "Choose" "Multiple" "Items" text-list 120x80 "this is" "a list" "of text" across check radio radio arrow below field "Text Entry" ]
Return to TopWide range of GIU effects:
style ferns image 80x60 %ferns.jpg ferns effect [flip 1x1] ferns effect [rotate 90] ferns effect [reflect 1x1] ferns effect [crop 0x50 120x60 fit] ferns effect [grayscale] ferns effect [invert] ferns effect [difference 200.0.0] ferns effect [tint 80] return ferns effect [contrast 50] ferns effect [brighten 50] ferns effect [sharpen] ferns effect [blur] ferns effect [colorize 200.0.0] ferns effect [gradcol 1x1 150.0.0 0.0.150] ferns effect [gradmul 0x1 0.100.0] ferns effect [grayscale emboss]
Return to Top(Show more demos)
Download REBOL/View (360KB) to see the demos.
Return to TopVisit us at http://WWW.REBOL.COM
"REBOL/Core User Guide" - www.rebolpress.com
"REBOL/Command User Guide" - www.rebolpress.com
"REBOL for Dummies" - IDG Press
"REBOL, The Official Guide" - Osborne McGraw Hill
Copyright REBOL Technologies. All Rights Reserved.
REBOL and the REBOL logo are trademarks of REBOL Technologies.
Generated with Makespec 1.8.15 on 23-Apr-2001 at 13:09:11