This is a major milestone reached on the Red roadmap. Red/System is now in a beta state, which means that it is good enough, both in design and implementation to be used for building applications.
A huge collective effort has been made by all contributors to reach that state during June, in a single month, we produced:
This is what can be called an “intense” month of work!
There are still a lot of features that are lurking in the corner for inclusion. Red/System features are not set in stone, the language will evolve to match our needs, as a support tool for building Red. It will now follow a bit more organized release cycle to help users and contributors have a more stable base to work with.
The version number has been bumped to v0.2.0. From now on, only non-disruptive changes will be pushed on the main branch, other changes will go into a separate development branch until we decide to make a new release, merge new features and increment the version number. This cycle should be short, on a weekly basis (each week or two, depending on the development branch content). If this organization does not fit well the development progress, we will adapt to a more adequate one.
I cannot resist to show you the new unit testing output when running the complete tests suite (just run the %tests/run-all.r script):
Quick-Test v0.5.0 REBOL 2.7.6.3.1 Red/System Test Suite ok - logic.............................76 / 76 ok - integer............................0 / 0 ok - byte..............................40 / 40 ok - c-string..........................20 / 20 ok - struct...........................116 / 116 ok - pointer...........................68 / 68 ok - cast..............................66 / 66 ok - alias.............................22 / 22 ok - length............................11 / 11 ok - null..............................11 / 11 ok - not...............................24 / 24 ok - size..............................36 / 36 ok - function...........................2 / 2 ok - exit...............................9 / 9 ok - return............................24 / 24 ok - modulo............................20 / 20 ok - infix..............................2 / 2 ok - conditional.......................13 / 13 ok - byte-auto.......................3492 / 3492 ok - integer-auto....................2106 / 2106 ok - alias-compile......................3 / 3 ok - cast-compile......................16 / 16 ok - comp-err...........................4 / 4 ok - exit-err...........................3 / 3 ok - int-literals-err...................1 / 1 ok - output.............................3 / 3 ok - return-err.........................5 / 5 ok - conditions-required-err...........23 / 23 ok - inference-err......................1 / 1 ok - callback-err.......................3 / 3 ok - infix-err..........................2 / 2 ok - not................................1 / 1 ok - Red/System Test Suite...........6230 / 6230 in 0:00:16.3
A big thank to all the following contributors who are working hard each day to help me bring Red to life:
Andreas Bolka Rudolf W.Meijer Kaj de Vos Peter W A Wood
Cheers!
EDIT: for those coming here for the first time and willing to test Red/System, please follow the link to Github’s repository, you will find some instructions there for getting started.
This new release is bringing a lot of important bug fixes and some new features for Red/System. The new PRINT function might break some existing scripts, but should be easily fixable.
New features
PRINT function examples:
print 123 123 print "hello" hello print [123 "hello"] 123hello print [123 tab "hello" lf "world" lf] 123 hello world a: 1 < 2 b: "hello" print [a tab b/2] true e
Bugfixes
Specification document
Red runtime
As you can see, no vacation this summer for Red project!
This release is mainly a bugfix release that solves several old issues. It is also now correctly synchronized with all the current bindings done for Red/System. The main changes are: