tags:

views:

861

answers:

13

If you are using it, what are you using it for? Do you use it purely as a personal toolset/language or are you using it in a broader sense (i.e. many others use it, or the result of it)

http://rebol.com/

Just curious if anyone has used this language much? I find it very interesting and has some good potential.

+2  A: 

I tried it out for a little while when it was at version 2.5 I think. I like the fact that it was super small. A single exe that was about 500k. So you could copy that and a small script along with it to any computer without needing to install anything. I found it was good for internet and network functions, seemed to run pretty fast, and was quite simple to use.

What I didn't like about it was that the default GUI is non-native and looks ancient. And it didn't seem very suited to writing large applications. At least I couldn't find out how to structure programs and break them into various modules to make developing and maintenance easier.

It seems like it could be useful for small apps to automate various things and very easy to deploy.

I see from the website that they are currently working on Rebol version 3. It looks like they might improve the GUI and it also says they are focused on browser integration. Might be worth another look when that comes out.

molasses
See RebGUI ?http://www.dobeash.com/rebgui.html
Rebol Tutorial
+1  A: 

I think it's a good way to learn symbolic computing before learning lisp.

+5  A: 

I code REBOL end-user software as well as small tools full time and it's quite useful across the board, whether it's for end user applications or for helping me distribute the software, doing compiling, debugging or building webapps for the REBOL based webserver Cheyenne. It's amazingly fast to work in, and I'm getting more work done in it than I would in most other languages.

Early on, REBOL was dubbed the language in which you create "throw-away-scripts", because it's so fast to create stuff in that you only use a couple of times and then throw away. It takes only minutes to create something useful with a parser or with the GUI system known as VID. Also since the GUI system is not based on native widgets, it isn't locked to a platform. I don't have to worry whether it will work on MacOSX, Linux or Windows, because it just runs on those platforms without alterations or adaptions to the code 90% of the time.

REBOL 3 is under development, and it will remove most of the deficiencies present in REBOL 2 and a changed license model that is more open (BSD-like).

+2  A: 

The way I make 'modules' or libraries of functions in Rebol 2, is like this:

rebol [ Public-Functions: [useful-function1] ]

context [ useful-function1: func [][does something useful...] helper-function1: func [][does something...] ]

Then I have an 'include' function I wrote which looks in the loaded file's script header for the 'Public-Functions' block. eg. if the above code were in a file named my-library.r, then I would set the 'useful-function1' word into the global context like this:

include [%my-library.r [useful-function1]]

and now I can use 'useful-function1'.

How does 'include' work? Basically, 'include' DOes the file, which, thanks to 'context', returns an object with the word/values of the functions 'useful-function1' and 'helper-function1' "trapped" inside it. Then, to bring the desired/allowed word out into the global context, it just does:

set 'useful-function1 get in returned-object 'useful-function1

That's it, it's ready to use by the application. Of course, 'include' does more than that; downloading libraries (specified as urls) from the internet, ensuring the asked-for words are advertised in the Public-Functions block, giving nice error messages, etc.

So that's how I basically manage my "modules" in Rebol 2. (I have built about 200 library files using the above system.)

+1  A: 

I use it often, some 'throw away' scripts are still serving 7 or 8 years later ... for processing text on the net I have not seen anything that comes close.

I hope the Rebol business will improve to a point I can admit/justify/promote using the Rebol language to my employer.

+4  A: 

REBOL 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
+1  A: 

Love the REBOL. It's awesome for quick shell-scripts. I'd recommend it to anyone who isn't wed to C-style syntax.

Edoc
+2  A: 

I looked REBOL when I was an undergraduate and I was immediately very excited by it. I think I was working a lot at the time and the shop I worked at, primarily a Java and Informix-4GL (ya I know) shop, frowned on me spending any company time learning anything. Anyway, I've just re-discovered it and I think I will try to incorporate it into my research somehow; I think its a very interesting language.

BobbyShaftoe
+1  A: 

My business has been running on REBOL scripts for the past several years. There's nothing better for my needs.

+2  A: 

I use it for small scripts, but am writing a commercial electronic medical records application with it. See http://www.synapsedirect.com

Graham Chiu
A: 

Hi, I think it's difficult for newcomers to get an idea of the power of Rebol because of its apparent simplicity. It's not yet another scripting language. You can discover pragmatic examples here:

http://reboltutorial.com

It's not just meant as tutorials, there are real utilities that I crafted for my own use. There aren't many yet because the site is just starting but many more coming soon !

A: 

I tested rebol for few hours. I was surprised how easy was to develop ideas into working code. I made myself break-if construct for ending loop wherever I want, slice that does slicing similar to python and decorate/undecorate functions that allowed me to do custom sorting using decorate-sort-undecorate idiom easy. I also modified someones oneliner that I found on-line to do what I wanted. I have not hit any wall and rebol was easier to wrap my mind around it than smalltalk. I was really excited while using it. I'm a little bit uneasy that rebol is not open source. I think it might be dampening it's potential.

Kamil Szot
A: 

I've used it for years, and love it. Take a look at http://musiclessonz.com/rebol.html

notchent