
REBOL in One Line - talles
http://www.rebol.com/oneliners.html
======
pavlov
I've always felt that REBOL suffers horribly from being misnamed. It sounds
like it's short for something like "Reimagined COBOL".

When I first heard of REBOL in the '90s, I assumed it's some kind of
scripting-oriented COBOL variant. That's pretty much the worst association for
a modern and convenient language.

Imagine if Ruby were named "NuBASIC" \-- everyone involved with it would first
have to spend time explaining that it has nothing to do with BASIC. That's how
bad it is for REBOL, in my eyes.

~~~
mhd
That's an interesting example, as the name of Ruby (as well as its purpose and
syntax) evoked memories of Perl when it first became well-known enough. And
even back in those days, that wasn't necessarily a good thing.

REBOL had some things going for it: Small executable, interesting syntax, data
types and features and the pedigree of its developer.

On the other hand, it was a proprietary contender in a field with a plethora
of open source contributors, and where developers actually cared about this.

And with that comes a lack of community and packages. Not sure if REBOL even
has a package system/repository, which is quite important, no matter how good
your standard library is (one of the things that, well, mortally wounded Tcl).

------
bronlund
Even though REBOL was an excellent language (still is I guess), it was kind of
stillborn due to the fact that Sassenrath charged you for using it :)

Had it been free from the start who knows what impact it would have had.

------
rebolek
If you are interested in Rebol, have a look at [http://www.red-
lang.org/](http://www.red-lang.org/) which is more modern (and not just
interpreted but also compilable) language very close to Rebol. And it's OSS of
course. It's still alpha version in development, but with good backing and
very dedicated team.

------
Respectech
Rebol 3 has been free in both senses since its development. It is still in
development by the community, but is completely usable. For instance, see my
Rebol 3 tutorial (I started developing the tutorial a few days ago) running on
a webserver running Rebol 3. The pages are created in real-time by a Rebol 3
dialect called JSID that outputs HTML and JS.

[http://video.respectech.com:8080/tutorial/r3/index.r3](http://video.respectech.com:8080/tutorial/r3/index.r3)

This is just one example of real-world applications for Rebol 3. And if you
learn Rebol 3, Red is almost exactly identical.

BTW, I'd love to hear feedback on the tutorial. :-)

~~~
leke
Sweet tutorial. I might just bookmark that.

I was interested in rebol back when I first started to program, but I moved to
php and dhtml because I wanted to focus on web development.

In the advent of the internet of things, I am looking to pick something up
again for those little embedded devices. Perhaps controlling servos or
something. I've been thinking of nodejs or ruby, but perhaps I should consider
r3 now.

------
thomasvarney723
Are there any prominent applications built with REBOL or Red?

~~~
notchent
I wrote this:
[http://freeconsignmentsoftware.com](http://freeconsignmentsoftware.com) It's
been on the first page of Google results for "consignment software" for
several years now. I've also written a lot of production software for a
variety of businesses. Rebol is still ridiculously productive for certain
types of work. Maintaining old projects in Rebol is always simpler than with
any other development tool/language I've used in 30+ years.

------
tickit
My first big website was written in this language around 1998-2000 (before
being converted to PHP). Loved how concise Rebol is, with everything being
blocks, and how you could write a website or GUI based app with minimal
effort. I also loved how PHP had a function for practically everything so it
won and still continues to win (despite trying stuff like Ruby/Perl/Go/etc).

------
chipx86
I used to do a lot of REBOL programming, back in the day. I even wrote some
tutorials for an old webdev site called Gelicon.

Back then, there was no Django or Ruby on Rails, and while PHP worked, it
wasn't always suitable for a lot of tasks. With REBOL, for instance, I could
(and did) build a client that would read from some early web services, parse
the data, and then interface with IRC servers to both stream some of the data
to a channel and act as a control interface for further parsing, along with
generating static webpages from the data. Implementing each part of that was a
lot easier than most languages I've used (assuming you're not using third-
party modules for things like IRC).

What made REBOL cool, back when it was new, was just how easy it was to work
with the Internet and parse results. For instance, see the one-liner in
example 42 on that link, which scrapes a page for all links:

    
    
        parse read http://www.rebol.com [any [thru "A HREF=" copy link to ">" (print link)] to end]
    

That reads from www.rebol.com and sets up a parser for it with the given
rules. Those rules state that it should skip all bytes through "A HREF=", then
copy any bytes up until the ">" into a "link" variable, and then print the
variable. Simple example, but it's fairly easy to write something a lot more
complex.

The language can be a bit wonky at first, but especially back then, once you
learned it, it was fantastic and fun. Writing a parser for a protocol like IRC
was just easy. You could easily output a file that was both data and a valid
self-parsing REBOL program. Writing a self-modifying program to store the
state for the next run was almost trivial. You could write little DSLs for
whatever you wanted. Like LISP, the code was data.

Oh, and the selection of data types was pretty neat. For example, e-mail
addresses were a valid datatype
([http://www.rebol.com/docs/core23/rebolcore-16.html#section-2...](http://www.rebol.com/docs/core23/rebolcore-16.html#section-2.3)).
So was currency
([http://www.rebol.com/docs/core23/rebolcore-16.html#section-3...](http://www.rebol.com/docs/core23/rebolcore-16.html#section-3.4)),
HTML tags
([http://www.rebol.com/docs/core23/rebolcore-16.html#section-2...](http://www.rebol.com/docs/core23/rebolcore-16.html#section-2.12)),
URLs
([http://www.rebol.com/docs/core23/rebolcore-16.html#section-2...](http://www.rebol.com/docs/core23/rebolcore-16.html#section-2.13)),
etc.

I think REBOL had the potential at the time to go far, but it really suffered
from the restrictions the company placed on it as an attempt to monetize the
language. The core of REBOL was free, and you could do a lot with that, but
you could not invoke external programs or bind to any native libraries. To
gain that functionality, you had to pay a decent amount (at least for me, at
the time) for a full license. There may have also been restrictions on
bundling the core REBOL interpreter.

I believe that's all free now, but then, the world's grown beyond Perl and PHP
since then. REBOL had a lot of time to grow beyond where it seems to be now. I
still think about coding something up in REBOL every so often, but I usually
just reach for Python instead.

Still, fun language. Worth playing with sometime.

~~~
klibertp
> REBOL had a lot of time to grow beyond where it seems to be now.

I'm following Red development, hoping for it to become a free (in both senses)
modernized REBOL:

[http://www.red-lang.org/](http://www.red-lang.org/)

It's not there yet, obviously, but it looks promising.

~~~
chipx86
Very cool. I always wondered if someone would do that (considered it myself,
once). I'll keep my eye on this. Thanks!

