Several long-term development goals are starting to come together for the Syllable project. At a request from Carl Sassenrath, inventor of REBOL and chief architect of the Amiga OS, Kaj de Vos has created a website that allows you to try the REBOL programming language without installing it. The site showcases the new REBOL version 3. It also offers to test the classic REBOL 2 and ORCA, the open source implementation of REBOL, and to make comparisons between them.
REBOL 3 is close to going into beta release, after a long series of alpha releases over the past year. It is designed to bring REBOL up to current standards in programming platforms by breaking known barriers in the architecture and marketing of REBOL 2, which is now a decade old. An important aspect of this is that the architecture of REBOL 3 will be open and for a large part open source, which will allow the Syllable project to integrate it into their operating system family, including Syllable Desktop.
REBOL 2 is already included in Syllable Server, and the Linux builds of REBOL 3 also run on it. The demo website is running on Syllable Server 0.3, in development towards version 0.4. For this application, the security of the server operating system was enhanced to be able to offer the public to run generic REBOL scripts. REBOL 3 has an enhanced cross-platform security framework, but for ORCA and partly for REBOL 2, the site relies on Linux security in Syllable Server.
The website was made on top of the REBOL software stack included in Syllable Server. It runs on the Cheyenne web server. It is made in a Model/View/Controller architecture with a combination of the QuarterMaster web framework and the content management system that is also used to build the Syllable project websites. This stack constitutes an application platform for building network applications. The REBOL demo site marks the transition of this application platform to being capable of building advanced interactive websites.
So far, the prime supported communication channel for managing a Syllable Server installation from Syllable Desktop has been OpenSSH, allowing remote log-in into the Linux command shell. With this web platform, the Syllable project will be able to build web interfaces on Syllable Server that can be used by web browsers such as Webster, the browser of Syllable Desktop. Webster is based on the WebKit engine, so it supports modern features, but carelessly programmed websites can still pose a problem to it. Therefore, the goal of this web platform is to create web applications on a similar philosophy as native Syllable applications: lightweight yet powerful.
The REBOL demo website uses modern HTML and CSS, a minimum of JavaScript for its advanced interaction, asynchronous HTTP communication with the server to keep this interaction responsive, and simple custom data formats to communicate structured data between the components of the system.
I’ve followed all three projects (Syllable, Rebol and Orca) for quite a while, and it was great that Syllable picked up Orca when its original developer stopped work on it.
It’s good that Syllable have been bold enough to try a different scripting language like Rebol/Orca. Hopefully, Orca can be developed further so that it comes close to matching the functionality of Rebol 3.0. Well done to the Syllable devs!
There are a lot of programming languages out there. What does Rebol do that, say, LISP or Ruby can’t do? Why Rebol, in other words?
There is no easy answer to such a question imo? I could as well reverse it to – why Ruby, Python, Perl, – or anything from – http://en.wikipedia.org/wiki/List_of_programming_languages
There’s plenty of languages out there, isn’t there?
Well, I think that answer is rather easy. Kaj (from Syllable team) is long time Rebol community member. Maybe he simply likes Rebol, finds it cool enough, so why not to try to be different? Does inclusion of Rebol lowers chances of Syllable to succeed? I think not – there is plenty of operating systems out there, and 90% of computing world does not even know, that some Haiku or Syllable exists. In that regard, I think it really does not hurt to include Rebol in the package.
There are some technical aspects to consider too – as feature compactness and size of Rebol package (under 500KB), its clean design, addiction you get after some time of usage, the community surrounding it (some Amiga community members), Carl Sassenrath (original AmigaOS author) himself, etc.
We could surely put many YES and NOTs on the table, but that could just lead to unnecessary prog. language flamewars ….
It’s hard to say in a few words, because REBOL is incredibly broadly scoped and is a very deep language. It’s not a language that you would place in a particular location in a system, such as we have with HTML/JS/CSS/PHP/MySQL.
Rather it’s a language that covers the whole thing from db storage to serving to networking to presentation.
Its second feature is that REBOL scripts are very small. Yesterday I wrote a time tracker with a GUI for my job. It took two hours to write and is 3307 bytes. Today I’m writing a GUI based CSV import wizard that is just around 11 kb now.
REBOL 2 has 54 datatypes, REBOL 3 has 56. This forms the foundation for its extreme expressibility to let you create dialects (subdomain languages), like:
[buy 1000$ of shares in aapl at 180 only tomorrow]
That’s valid REBOL data using the word! money! and integer! datatypes. It’s wrapped in a block! datatype, the square brackets.
In REBOL, data is code and code is data. You can model and form your data like silly putty and then execute it or treat it as a dialect.
REBOL 2 is a single executable at around 6-700 kb which contains GUI, networking, full interpreter, console, desktop. It takes about 2 seconds to install (if you want to). REBOL 3 is even smaller, but it’s still under development.
There are more things to list, but I’ll stop here.
Oh, very nice summary of the language. Thanks