Comments on: Changing the REBOL File Suffix
REBOL Technologies

Comments on: Changing the REBOL File Suffix

Carl Sassenrath, CTO
REBOL Technologies
12-Feb-2011 1:51 GMT

Article #0507
Main page || Index || Prior Article [0506] || Next Article [0508] || 49 Comments || Send feedback

Up until recently REBOL files used the ".r" suffix and it wasn't really a problem. However, that suffix is used for other purposes, such as resource files on MacOS/OSX and statistics scripts in the R language. And, I've heard of a few others, like rendering scripts at Dreamworks.

For R3 I thought we'd move to .reb, but most users seem to already be using .r3 for scripts. Of course the advantage is that .r3 clearly distinguishes the script for R3.

It's been suggested that we use:

 .r2for REBOL 2 files
 .r3for REBOL 3 files
 .rfor files that run on both

That seems close, but it does not solve the basic .r conflict with other systems. Perhaps it would be better to use .reb instead.

A good example of the problem can be seen if you edit a .r script on recent Linux distributions. Most editors do not associate .r with REBOL, and you end up with the wrong syntax coloring. The more unique suffixes of .r2, .r3, and .reb would avoid that problem.

Let me know your thoughts. It's a good time to decide.



Carl Read
12-Feb-2011 19:22:34
I like that: .r2, .r3 and .reb.

That said, I've always had a problem with .r for REBOL data, as apposed to REBOL scripts, and have usually used .txt instead. So I'd imagine if these are chosen, I'll use .reb for data and .r2 and .r3 for scripts.

12-Feb-2011 23:41:21
I never much liked .rip, and I don't like .reb either, which is kind of longish. But otoh it it unifies REBOL extension. The question is, if we need one extension. Becaues - sometimes I run my scripts by just double-clicking a file icon. And here i need to distinguish r2 and r3, so separete suffixes do work for me.

As for rebol extensions, I would use .rx, I don't like .dll or .so, because in fact - those are not necessarily system compatible dynamic libraries.

Peter Wood
13-Feb-2011 0:04:58
An alternative would be to use .reb for the current version of REBOL and .r2, .r3, .r4, etc. be used for older and test versions.

Christian Ensel
13-Feb-2011 4:53:52

Keep .r2 and .r3 where versions are important.

But why stick with 8.3 extensions instead of just using .rebol? Admittedly I don't know if there are still relevant platforms where .rebol would be a problem, but would it be wise to hide the REBOL brand behind yet another arbitrary abbrevation like .reb?

Java, for what I know, uses .java, so ...

13-Feb-2011 5:16:45
+1 for .r3 and .rebol (or .reb, if 8.3 is considered important).
13-Feb-2011 8:00:45
Yeah, sounds good.
13-Feb-2011 14:51:30
I ran into the .r conflict on Linux a few years ago, so I switched to .reb. Recently, I've been thinking about versioning (I'm still using R2, but expect R3 to be finished soon.) I'm amenable to .r2, .r3, .r4, ... for specific Rebol versions and .rebol or .reb for whatever is considered current.

And I agree that data files need a separate extension. (Maybe .rdat would do?) Rebol extensions may also need their own extension (not familiar enough with the implementation details to have an opinion).

Mr. Endless
13-Feb-2011 16:27:23
Holy crap! What about .pussy1 .pussy2 and .pussy3 WHERE IS THE STUFF?!
13-Feb-2011 19:03:54
.reb or .rebol are better to use independent of versions.

can you imagine , when we reach version 10 and above of rebol and having .r2, .r3, .r4, .r5, .r6, .r7, .r8, .r9, .r10 ... .rn ?

this looks really ridiculous. there is no .java1, .java2, .java3... same for other languages and they don't have any problem using only one extension for all versions.

if you want to declare your version, why not do it inside the program itself ?

13-Feb-2011 21:44:21
If we are not for .r2, .r3, then I am against .reb or .rebol - to loong, for nothing. I am not OS-X user, so I don't know how much it causes a trouble, but each normal OS should let you define, what you want your suffix to associate with - hence .r as we always used.
Christian Ensel
13-Feb-2011 23:44:32
Yuem, having .r2 vs .r3 isn't ridiculous but rather neccessary to being able to discern between different interpreter versions for file type associations on platforms which don't support file content inspection when deciding which executable to run a script with. That's a different situation for Java and other languages, I guess.

It has been decided for long that R3 can't and won't be backwards compatible with R2, so the R3 interpreter won't be able to run them. So associating .r2 and .r3 to different interpreters is a neccessarity on systems where you don't want to convert all your R2 scripts to R3. And use .rebol (or the .r extension which Carl has identified as being problematic for the reasons stated) if you don't care ...

Christian Ensel
13-Feb-2011 23:50:31
Petr, syntax coloring is another reason to have a unique extension. In that context personal preferences wouldn't matter much if every editor and the other associates .r with the statistical R language. The suggestion of using .rebol or .reb is one of suggesting to behave in a nice way with tools and environments, who have their own expectations ...
14-Feb-2011 1:02:52
I also wonder about using .r2 and .r3 ! I think it solve the problem right know but wonder about the future ?

For the common extension, .reb or even .rebol is ok to me.

What is two letters more to press when you lost so much time in your facebook/twitter/"social*.*networking"/spam filtering world ?

Christian Ensel
14-Feb-2011 2:09:23
Assuming there's a need for .r with n = 4, 5, ... |N implies that each version would be incompatible with previous major versions: I don't think that's inevitable.

First, because if there will ever be a R3 released, I guess that one is to stay with us for a while. Second, there is a chance that further major releases will be backwards compatible. And even if not, OS's probably have means to solve the problem sooner than a R4 appears on the horizon ...

14-Feb-2011 2:15:06
Christian si right - R3 project started somewhere in 2006, so it is almost 5 years, and still not in beta. Hence no worry about the R4, that will be in 2020, and who knows what OSes are going to be here :-)

I will accept the decision of the majority. Pity .r is taken, as it makes for nice icon, and I generally don't like too long suffixes.

Another chance here is, that REBOL could be marketing-wise renamed to just R3. It is short, we are used to that name, and apart from SAP, noone is using it IIRC, and we can have just .r3 suffix :-)

14-Feb-2011 3:26:48
.r2 and .r3 are useful and clear indeed.

.rbl looks better than .reb to me.

.rebol is a little bit long but ok for me.

.rll can be used for extensions (better than .dll) (.rll is also used for SQL Server Resource Library file extension but it is not a big problem I think)

.rx for extensions is also good.

I'm not sure .r for both R2 and R3 because we already used .r for R2 a lot. And I don't think it is really necessary to say "this script runs on both". (It is a good feature for functions, but not for scripts I think)

14-Feb-2011 4:01:25
+1 for .rbl it sounds perfect.

.reb is ok too.

But just like Yuem said I never saw extensions with version number. Something inside me tells me it's a bad practice. Most languages were able to keep their initial extension through different versions numbers.

Mario Cassani
14-Feb-2011 6:10:35
I like .r2, .r3 and r#, if .reb is too long as general suffix for scripts running for both/all the versions .rb or .re can be good. The suffix .rx sounds good to but should be already used for (A)Rexx scripts, IIRC.
Maxim Olivier-Adlhoch
14-Feb-2011 6:55:57
somehow .reb really doesn't look or read nice.

I much prefer .rbl or .rebol

I've got about 12-15 different extensions associated to rebol and .reb isn't one of them.

one good note above is that it could be nice to have an official extension for data as opposed to scripts.


also note that .r2 and .r3 also collide with Winrar on windows, which doesn't distinguish the .r03 from .r3 ... stupid I know.

14-Feb-2011 7:20:41
It doesn't matter to me personally, but the ".r" suffix seems to be used by the Progress DBMS in some way (based on a purchased application we have here that was written with Progress). We have not experienced any conflicts with this, so far.

What would happen if there were just one suffix for all REBOL programs, and a person had some applications written in R2 but then wanted to do future development in R3 (thus having both versions of REBOL operating on the same computer at the same time)?

Christian Ensel
14-Feb-2011 7:59:17
Steven, in that case, you won't be able to run your scripts by double clicking them on e.g. Windows, because you can only attach the default action for a file type to one executable, with that being either R2 or R3, hence .r2 and .r3 extensions. Scripts written for the other version won't run (throwing errors or behaving in an unexpected manner).
14-Feb-2011 8:43:48
To add some info to what Christian just said. In Windows, you can IIRC register your app with some extension. So - double-click launches the default associtated application. Pressing right mouse button allows you to "Open with", where you can have more apps available for one particular extension.

For me .r3 and .rx are nicest, but Max might be right, that WinRar uses it. Otoh Winrar always starts with .rar, and then continues with .r01, .r02, etc. Not sure it would ever collide, as you have to start unpacking using .rar anyway IIRC.

My preferences:

Two letter: .r3 (.rb), .rx (extension), .rd (data - is that really needed?)

Three letter: .rbl, .rex (.rll -rebol loadable library), .rdt (data)

Full names: .rebol, .rext, .rzip (.rarch), .rdata

I really don't know :-)

14-Feb-2011 10:21:47
No to "R3" as an alternative marketing name for REBOL as there are too many users of R3 dating back even to an Amiga game (?) "RBL3" also gets many google hits; but "Rebol" is still a clean google page of REBOL hits.
14-Feb-2011 19:45:10
Is anyone having trouble running .r scripts? I set .r scripts to be associated with REBOL 2.xx. If from this point on, the community decided to label all REBOL 2 scripts with .r2, then I'd associate .r2 scripts to also be run with REBOL 2.xx. I'd say stick with .r for REBOL 2, because that's what we've been using for years, and choose .r3 .rbl .rebol to associate with REBOL3, because those scripts need to be associated with a different interpreter. I like .rx or .rll for extensions. Keep it simple :)
David Cope
15-Feb-2011 2:53:23

Simple, complete. Self marketing.

If there is a need to delineate extensions how about


Brian Hawley
17-Feb-2011 2:17:48
After checking is seems that .r has over 9 meanings (they forgot the R language), .rbl is taken, but .reb and .rebol are free. The .r# convention would run into a conflict with .r8 (a few programs) and .r10 (WinRAR), but those conflicts would likely take at least a decade (or several) to come, by which point we can change the convention if we really need to. There would be an obscure conflict with .rx, but nothing we would run into right away.

I like .rebol, .r2 and .r3 (since we refer to R2 and R3 in conversation), .r for legacy scripts, and .rx or .rext for extensions. We should continue to make the file suffix not be mandated by the REBOL interpreter, so you can use .cgi or .txt if you like.

18-Feb-2011 7:00:27
I choose .rebol extension. It's just so much more obvious than the others.
18-Feb-2011 21:23:37
+1 for brian hawley. Let each developer use their own ext.

I am not in favor of using .r# as a general standard.

Personally, I have used .r2 and .r3a, but I have always considered these to be temporary extensions to use under development until it is ready for production then I change it to .r and use a particular launcher for the version of rebol to run.

.reb is good .txt for data

Brian Tiffin
19-Feb-2011 18:06:56
.r gets my vote. Stick with a thing. REBOL coders know what it means, feel sad for those that don't. As long as nothing is mandated by the system, let humans deal any ambiguities, we are pretty good at that.
20-Feb-2011 21:43:02
.r .r3 .reb .rebol

In that order.

What ever happened to the "new name"?

20-Mar-2011 18:48:44
Consistent naming across references is necessary to maintain unity of perception in the IT world, in general. Conventions that specify variance(s) based upon developmental distinctions, despite the logical association, further confuse general or public regard of Rebol.

Therefore, one universal extension is warranted. A cursory search of the file extension name space shows various precedent program and language associations for most of the likely candidates, except for .reb, .rva (Rebol - versions [all]) and .ruv (Rebol - unified version). Even .rb was taken over by Ruby after being previously associated with RealBasic, which moved over to .rbp.

The file extension name space is becoming crowded and Rebol is years behind the mark on this issue. Its importance in supporting ready adoption by programmers is under-estimated. This is an important decision requiring some urgency to consider and achieve in timely manner.

28-Mar-2011 15:26:10
There are still some .php3 and .php4 files out there, in addition to the more widely-used .php files.

Yes, versions in the extension has been used in a mainstream language. In recent years, though, the emphasis has been on getting people to use the latest PHP versions and thereby avoid the multitude of past security holes.

3-Apr-2011 8:27:36
who cares Carl seriously 6 years of r3 in alpha stage and your main aim is how to name things ?

Isn't your initial goal was to kill rebol 2 and replace it plain and simply with Rebol3? Adapting rebol script from R2 to R3 will not be a problem. And still if your script works fine on R2 why wanting to adapt it to rebol 3 ...

In rebol script there is an mandatory block of head informations are people idiots enough to not open and read that information header?

Could be done on the vm level using the information block so both vm then would eject mutually scripts without that information field (forcing app writers to setup the field in the rebol info block). so we keep .r as file extension cause .r exists and stands for rebol script files since 1998. Changing this will only make rebol even more fuzzy.

REBOL [ rebol-vm: 2 ; script runs on rebol 2 only so rebol 3 VM will pop a message "This script is designed to run on rebol 2 VM" ]

REBOL [ rebol-vm: 3; script runs on rebol 3 only so rebol2 VM will pop an message "This script is designed to run on Rebol 3 VM" ]

REBOL [ rebol-vm: 0 ; scripts runs everywhere cause it's mainly a print "hello world!" and that's the only thing mostly perfectly running on what ever rebol vm :) ]

Rebol3 was suppose to make Rebol 2 a complete better thing than Rebol 3 so why should people still use rebol 2. you need to keep things simple and so do forcing choice. Rebol 2 was fun but none of the thing that we could do with rebol2 will not exists on rebol 3...

Already 6 years passed for Rebol 3 in alpha stage. Meanwhile rebol2 is still the same as ever no big changes in it. All the ideas you initiated with rebol 2 stayed still those 6 last years ( rebol web browser plugin, rebol consol, rebol/VID, rebol Desktop, etc...)

Those tools were the appealing part of rebol and now more the time pass less we have hope to have a true dynamic back around those subjects.

Even Altme used dayly by this community is dead and stoped evolving like 8 years ago. And 2 bugs fix in 8 years doesn't stand for a living healthy project carl...

Carl what do you want ? do you want to be out of Rebol problematic ? if that's so we can open a foundation gather donation and buy you the rights of rebol and all related. It was made for blender and it can be done for rebol. If you carl considere that it's to much a burden to carry on an make rebol a serrious software solution then pass the hand.

Or even better you can open through rebol a subscription to sell to public domain rebol 2 / 3 tools source code you put a price and collect donation the day the price is reached then you release to the world the whole thing. You could still make the rebol main stream but rebol world will not be depending on your actions or lack of actions to go on with rebol

26-Apr-2011 2:23:19
10-Nov-2011 4:01:19
Rbl being taken? By Regex Buddy Library file?? Just annexate, and let know REBOL has taken over :P
17-Feb-2012 10:32:46
Here's a thought (perhaps debatable.)

Why not name source files as follows: {rootname}.{version}.reb, for example:

getnews.v3.reb (for R3, etc.)

A wrapper launcher script can be used to invoke the appropriate version REBOL as needed by parsing the filename. And since all files end in .reb, one can refer to all REBOL source files simply. Use the default interpreter if no version is specified in the filename pattern, perhaps. And nothing says that you can't run a specific source file with any arbitrary interpreter otherwise.

I mean, we do have long filenames in OS's these days, right? ;P

9-Jul-2012 6:44:06
This article is something that will help me with my class assignment. It helped me to better understand another aspect of this topic. Thanks. Carpet Cleaning Palos Verdes
9-Jul-2012 7:01:34
Sometimes it is very hard to find good content on this topic. But your blog is my way to desired information, my problem is solved now. Thanks for posting something worth reading. Kaiser Insurance Rates
9-Jul-2012 8:11:20
I would like to thank you for your nicely written post, its informative and your writing style encouraged me to read it till end. Thanks sell my car
10-Jul-2012 1:21:59
Everyone is happy to litigate. Bills Gates once said, don't share anything with me you don't want me to use later. Essay Writers UK
Jim Calhoun
10-Jul-2012 3:45:13
wow i was looking for it you done great for me thanks for article it gives me help. custom essay writing service | Uk essays

11-Jul-2012 21:11:22
script from R2 to R3 will not be a problem. And still if your script works fine on R2 why wanting to adapt it to rebol 3 ...игровые автоматы без регистрации
12-Jul-2012 0:54:18
I am quite excited that I came across this website. I did not find out any other informative site on this subject matter prior to visiting your site. This is one of the best websites I have ever come across. I hope you never stop writing informative articles.custom assignment help||Write my assignment for me

12-Jul-2012 0:58:15
The author has written an excellent article. You made your point and not much to discuss. It's like this universal truth that you can not argue with the truth is not universal, everything has its exception.Essay Writing Help Online||UK Essays

12-Jul-2012 1:36:15
Really i am impressed from this post. The person who created this post is a genius and knows how to keep the readers connected.Thanks for sharing this with us. I found it informative and interesting. Looking forward for more updates. Logo Design Contest
12-Jul-2012 1:43:12
Gloriously expert position. I merely bumbled upon your post and desired to articulate that I have really relished understanding your blog articles.Seo Agency London

16-Jul-2012 6:22:56
This subject has interested me for quite some time. I have just started researching it on the Internet and found your post to be informative. Thanks
Greeshma Nair
17-Jul-2012 3:27:25
Those tools were the appealing part of rebol and now more the time pass less we have hope to have a true dynamic back around those subjects. web design company
17-Jul-2012 22:35:23
Its great to see fresh creative idea that have never been done. buy assignment | do my assignment for me | Computer Programming Assignment Help

Post a Comment:

You can post a comment here. Keep it on-topic.


Blog id:



 Note: HTML tags allowed for: b i u li ol ul font p br pre tt blockquote

This is a technical blog related to the above topic. We reserve the right to remove comments that are off-topic, irrelevant links, advertisements, spams, personal attacks, politics, religion, etc.

Updated 21-Oct-2017   -   Copyright Carl Sassenrath   -   WWW.REBOL.COM   -   Edit   -   Blogger Source Code