Modules in binary compressed format
For many years REBOL apps like REBOL/IOS, AltME, and others have used compressed binary data for network transfers (which were often encrypted as well.)
As you know from the CureCode todo list, we need to make R3 Chat an R3 module, isolating its namespace from the global context. However, because it downloads fresh each time, it is compressed to speed up transfer.
To make it a compressed module, I could "hand-craft" a little wrapper. Not a problem, but I think it would be better if we simply supported such modules directly, using the header to indicate the compression, with some kind of agreement about how to attach the binary data (both raw and base encoded modes.)
Of course this concept is nothing new, nor does it need to be fancy in any way, but formalizing it into a standard for R3 Modules does require a few lines of code and a couple examples posted to the Docs would be nice too.
The format would be something like HTTP:
Binary Module Format
|
REBOL header in UTF-8
|
CR-LF CR-LF
|
compressed binary data
|
The header would indicate the encoding of the data.
And, like all REBOL code and data, we would want to easily view a module's contents in text format with a short line like:
probe load/all %bin-module.r
Anyone have something already cooking on this?
17 Comments
|