Alpha Release - Status Update
Here is a status report for the current release of REBOL 3.0...
Almost 200 bug reports and enhancement requests have been logged by the alpha team. Of those, 6 bugs have been dismissed and 94 have been fixed and marked as tested; 18 items are enhancement requests. So, while there are still a number of outstanding issues, a lot of things have already been resolved, and we're almost keeping our heads above water. I say "almost" because we decided to delay the beta by a couple weeks while we iron out some of the more important outstanding issues.
You have to keep in mind that large parts of the REBOL kernel are new, or changed to a great extent, so it isn't just minor tweaks we're making here. This is our chance to fix things we know can be improved, at the cost of some compatibility and, most unfortunately, some of the hard-won knowledge the community has acquired over the past seven years.
In order to offset that "experience deficit", we are committed to improving documentation. DocBase is already being used by the alpha team. It is currently based on MediaWiki, so others can contribute, but there are still a lot of open questions about how it will work long term as well.
We also take for granted all the infrastructure in REBOL related to view (VID and graphics), networking, and datatypes. There are big changes in those areas.
For example, with the change from faces to lightweight GOBs, we're starting fresh in many ways. There are a lot of notes underway on what the new VID should support, and a micro-VID dialect already exists as a starting point for discussion. Rich text is functional, Cyphre's old SVG-inspired tiger demo runs, and some testers are focusing their time on the graphics engine to make sure it's stable and fairly complete for the beta.
Schemes will be written differently in R3, with the goal of making it easier for more people to write them. TCP is native and an HTTP scheme has already been written. We need to prioritize scheme development, and may focus on providing documentation about how to write them first; that means the beta probably won't support all the protocols available in R2, but the community will be able to help create them in true open source fashion.
Datatypes, ah... datatypes. They are the lifeblood of REBOL and the blood is flowing fast these days. Some datatypes are going away (e.g. hash!), some are new (e.g. dictionary! and percent!), and some are getting a new lease on life (money! changing from a floating point to a BCD implementation). There are still a number of datatypes in development, and a great deal of testing is being devoted to type compatibility. Consider that there are more than 50 datatypes in REBOL; each needs rules about how to be made, molded, and work with other types via various ops and actions.
In that vein, there are many design discussion on certain subjects. For example, the percent! datatype seems like it would be easy to design, right? Wrong. There have probably been 200 messages exchanged, public and private, about how it should work. Behavior decisions are not easy to make, but they are critical; the time spent discussing these issues is not wasted.
I need to get back to work here, but I wanted to let you know that things are progressing rapidly, though the task is large. We don't expect to go beta on the 15th as originally planned, but we may add some more testers soon. But, you know that "Too many chefs spoil the soup", but "many hands make for a light load" (to mix the metaphors.)