[REBOL] Re: R3 Beta availability
From: henrik::webz::dk at: 5-Sep-2007 16:31
On 05/09/2007, at 2.25, Rod Gaither wrote:
> Hi Henrik,
>> Giving out dates was a mistake in the first place and they were not
>> realistic. Things are moving forward, but there's still a lot to do
>> in practically all areas of R3. The difficult part is testing the
>> massive array of features that R3 consists of. I don't know yet when
>> the alpha will be ready for release as beta, but "soon" should
>> probably count as some time before 2008, but definitely not this or
>> next week. :-) When it will be released is entirely up to Carl.
> Is there any place were these "features" are listed?
Mmm... no. :-)
> I'm very glad there is a massive array of them but not knowing what
> they are, beyond manually pulling tidbits out of Carl's blog posts
> and AltMe discussions is a bit maddening.
There is not a single definitive list, but "massive array" means also
features that are in R2, because R3 is rewritten from the ground up,
so everything needs to be re-tested systematically. Also R3 is not
yet in feature freeze, so new things are added all the time.
> I would hope there is an organized set of goals (goals <> generic
> architecture drawings) somewhere and specific features designed to
> meet those goals worked up with estimates of how close to complete
> each one is... Okay, that is being a bit idealistic but hey even
> just a list of features would be good, perhaps grouped by expected in
> beta, release, r3.1, etc. :-)
I can't post a complete list, but there are particularly operations
on blocks that are much simpler than in R2 and very fast. Here's just
one of them:
MAP - Evaluates a block for each value(s) in a series and returns
them as a block.
>> map [a b] [1 2 3 4 5 6] [a + b]
== [3 7 11]
>> map [a b] [1 2 3 4 5 6] [reduce [a b]]
== [[1 2][3 4][5 6]]
It does more than that, but already just this is very powerful.
Other block operations like FOREACH and REPEAT have extended and
changed functionality to speed them up and allowing you to change the
content of the block as it's being traversed by the function. Doing
this in R2, requires knowledge on PARSE and is more difficult to write.
There is a new parser called DELECT, which is a different way to
create dialects. It's suited for streamlining out-of-order input
words and is used in the new VID3.
There are many changes in the language, where most will reduce the
amount of code you need to write and a tiny few bits where you need
to write a little more, mostly to reduce internal complexity and give
In many places R3 is much faster than R2. The graphics system
performs much better. We had an early internal demo that painted 1000
icons randomly in an 800x600 window continuously. It worked in both
R2 and R3, but was on average 4-5 times faster in R3. Even better
when scaling it up to 10000 icons, it would take *minutes* in R2 to
render a single frame on my PC, while still keeping at 1-2 FPS on R3,
while consuming much less memory. R3 scales much better graphically,
but I'm told that final optimizations are not yet done.
> I also want to make a plea for releasing the beta for the three major
> platforms - linux and mac os x as well as windows. Some of us will
> be forced to wait even longer just because we won't put a windows box
> on our network. Though in fairness to those with windows I'm not
> asking you to hold up the beta on them because of the other
> platforms, just keep in mind one user voice thinks it is a priority
> to support the other platforms - over feature y or z or beta bug
We are dying for a Linux and OSX version of R3 too. Many in the R3
team don't have Windows as primary OS and must settle for Wine, which
is buggy and slow. I think OSX is the first one to come, and then
Linux, but it depends on who will do the porting and how ninja
skilled they are. :-)
Henrik Mikael Kristensen