carl_sassenrath_thumb“Over the past two decades, my search for the perfect scripting language led me to work with companies such as HP, Amiga, and Apple. In that time, I investigated more than 50 different languages, from Ada to C, from Pascal to Lisp. I wanted a language that was very simple and readable with almost no syntax, yet very flexible with a wide degree of expressive freedom. In the mid 1980s, I stumbled across a mathematics called denotational semantics, which provided great insights into the structure and meaning of language.”


Carl Sassenrath
, Amiga OS Architect and Rebol’s Creator, in Dr Dobbs - Architecture & Design - January 01, 2002

about_usI discovered Rebol a long time ago and was amazed by both simplicity and power of the language. But I never really dive into it. Now is the time to do so for me and I decided to create this blog to write down what I’ve learned myself and help others speed up their learning curve. One of the reason I took so long to plunge into the language was the lack of real-world applications. The community is tiny and secretive (they live in their “Altme” world - completely isolated from the rest of the Internet ;)).

Rebol Tutorial is now 3 months old and traffic is now between 200 (when I’m too lazy or too busy to write a tutorial) and 700 (when people really love my article). Many people seem to discover Rebol through this Blog so I’m happy to contribute to the “Rebolution” :)

Let’s give Rebol a try, you may not regret it, read the testimonies below. I have collected them over the web from various programmers coming from other languages (Java, C#,…). Like
I did, they all perceived at some degree a somewhat Hidden Sense or Hidden Secret between the Grandiose Simplicity of the Language. I will start with the most honorific testimony from well-reknown Yahoo Architect Douglas Crockford, creator of JSON:


douglas crockford json webminar
JSON had a lot of influences on its design. It didn’t just come out of my head. It’s based on a lot of things that I had observed over the years.

The first – maybe the greatest – influence was Lisp, John McCarthy’s work out of MIT in 1958. Lisp … was really powerful, and syntactically almost nothing, but it was kind of visually confusing because it’s tons and tons of nested parentheses.

The thing that was brilliant about Lisp was it used exactly the same representation for programs and data. Originally, the idea was that you would have programs that could act on themselves as data, and do interesting things.

Another influence was Rebol. Rebol’s a more modern language, but with some very similar ideas to Lisp, in that it’s all built upon a representation of data which is then executable as programs. But it’s a much richer thing syntactically. Rebol is a brilliant language, and it’s a shame it’s not more popular, because it deserves to be.


Douglas Crockford
- senior JavaScript Architect at Yahoo!


gregoryblogREBOL is a strange beast. When I first looked at it years ago I didn’t like it much, and I think that’s because I didn’t get it. Why do all variables seem to be global? How come there’s no module system? And so on.

But then I delved deeper. I discovered that one of REBOL’s great strengths (and weaknesses) is that it allows you to roll your own module system any way you like. It doesn’t prescribe how you ought to do any of this. Now that I have a strong understanding of advanced REBOL concepts like contexts and “Bindology” it all makes sense to me.

Because REBOL is designed for “PITS” (programming in the small), it does take a (very tiny) bit more effort to achieve things like encapsulation. (The REBOL philosophy, I think, is that when you’re writing small, disposable scripts, it’s not that important to worry about things like scope. (I disagree, but don’t find it to be a major problem.)

Fortunately it looks like REBOL 3 will address some of this. I’m looking forward to it immensely.

Gregory Higley
- C# Programmer for a living


brianwittiblogThis is unusual. I’ve come across the first language that I don’t want to tell you about. I don’t know why I want to keep REBOL a secret. It has been very useful even in the limited roles that I have given it so far. The language is consistent and pleasant to work with. It has a richness of datatypes that just can’t be matched by other languages. The GUI library, View, is surprisingly straightforward for simple tasks, and there are excellent libraries like RebGUI to make it just as easy for more elaborate interfaces. Maybe I just want to think of REBOL as my secret weapon.

So what do I use REBOL for? Well, I spent about five minutes making a simple GUI application to help me balance my checkbook, for starters. I enter my transactions, it saves them and shows me my current balance (along with the record of previous transactions). It’s really nothing special, but it was disturbingly easy to create. Give REBOL a look-see. You might like it.


Brian Wisti - Geek who writes code for a living, and often write code as a hobby.


brianwittiblogAbout 25 years ago, I wrote my first computer program. Back then, BASIC was my language, and APPLE II was my platform. Since then, I’ve been studying computer programming on and off. I used dBase III+ and Clipper a lot when I was in high school.

After entering college, my major was computer science, which was fun for me. I learned C, x86 assembly language, C++, and Java.

When I was in the graduate school, we developed a Multimedia-on-Demand System in Java and won the Taiwan Java Cup Award, which made my life very different. I started teaching Java programming, giving speeches in Java conferences, and writing Java columns for IT magazines. Those jobs made me anxious for more information. I kept learning new technologies. “Saving for a rainy day,” I called it.

One day when I was in a local bookstore, a book caught my eyes. “REBOL: An Official Guide”. I had the cash in my pocket, so I bought it. This book was not an easy read for me, so I surfed on REBOL.com, and found the User’s Guide. After reading the User’s Guide, I kind of knew what REBOL was, but I didn’t have any chance to use it.

After a few years, I finally got a chance to use REBOL. One day in the morning, my ex-boss asked me to do something in one day. I decided not to do it in Java, since Java might take me a couple of days to do the job (even though I was good at Java). I used REBOL instead.

Guess what? I made it!

That’s amazing, considering I’d never used REBOL to do anything serious before and I didn’t know much about REBOL.

The experience was so good, that I bought a commercial copy of REBOL. I joined the AltME REBOL 3 world. I recommended REBOL to everyone I know. I taught REBOL in my Web Programming class in a college. I even put REBOL in my Java book (Well, I’d gone too far this time, since some readers didn’t understand why there was a REBOL section in a Java book).

Jerry Tsai - Java Book Author