Ren-C 2018 Roadmap and Retrospective

Just a reminder that Ren-C is not a name I really want to stick.

The hope--however vague it may be--is still that this is Rebol. If Carl has another agenda for what he thinks Rebol4 should be, or whatever, then that's not going to work. But I'd like to be able to make a case for why Ren-C should be the evaluator behind rebol.exe, and what I once called Ren-C would be "libRebolCore"...while what used to be called "The RL_API" would be called "libRebol".

But I don't want to make that pitch until several criteria are met:

  • I want near parity in performance with R3-Alpha. We've got a big back of tricks now, and when a codebase is really under control you don't have to guess about whether an optimization is "safe" or not...you know it's safe. It is my belief that despite a tremendous number of new features of the evaluator, changes have fundamentally been balanced in such a way that it will be competitive--notably faster at some things, even. There has to be some reasonable metrics taken and any creeping performance regressions have to be fixed.

  • I want near parity in size with R3-Alpha, when the same set of features are included. We should remember things like that R3-Alpha had no HTTPS or related crypto. For a truly fair comparison we might modularize it so that things like the function composition tools are in an extension as well, and have a rough idea of what they cost.

  • I'd like the source to be fewer characters, as well. Comments need to be reviewed and brought down to essentials that convey the same information. Any comments that are actually GitHub issues in disguise need to be moved out and referred to by their issue number. Overly paranoid asserts that have never triggered--or are redundantly being checked by callers and callees--need to be pared down.

  • The build system needs to be reigned in. To get there we'll need to rethink this all-Rebol build system so that it uses an order of magnitude less code...it has to get much more declarative.

These are the sorts of things that if they are not done, there might be a perception that in some ways--despite all its advances--Ren-C has taken some steps back. I want no steps back.

Unlike other work, this is stuff that other people can--actually--help with.

2 Likes