Home   Archive   Permalink


Being a fringe dweller, I struggle to get the gist of most things technical. Could WebAssembly be a venue for Rebol?

posted by:   Busted Flat     2-Mar-2018/0:23:31-8:00

Yes, the tools exist to compile Rebol to WebAssembly. Rebol 3 core has already be compiled to ASM JS. What's more interesting is getting the whole View platform ported. If anyone has the time to take on that project, I've got the cash burning a hole in my pocket...

posted by:   Nick     2-Mar-2018/8:17:27-8:00

@Nick: We now have webassembly on Travis as one of the targets that gets built with every commit. (The previous efforts were always ad hoc--someone would rig a makefile up long enough to get a demo to work--and then people would forget about it until the next time. Now it's just one of the standard build configs.)
The JavaScript API is being mirrored from "libRebol", which due to cleverness now supports variadic string/value methods like in RenCpp **but for plain C clients too**. So in-language strings like "foo bar" are loaded and bound as code, while "{foo bar}" is used for literals. Techniques are even letting you span blocks and groups in the scanner...the JavaScript for web or Node.JS looks like:
     try {
         var three = rebInteger(3);
         var block = rebRun("[1 (2", three, ") 4 5]");
         rebElide("append/dup", block, "{string literal} 2");
     } catch (e) {
         if (e instanceof RebolError) {
( The reason I use rebElide() above is because we don't want to waste making and GC'ing an API handle for the result, which would just be a handle referencing a copy of the block it already had. So in C, it returns void. It's named after ELIDE, which I think is very cool, hence am pointing it out: https://trello.com/c/snnG8xwW )
We have a near-term goal to have an interactive online tutorial and launch it on a new site. The site layout and mechanics are being built by a professional web developer, who has volunteered some of his time to do it...in a way that generates directly from GitHub and doesn't entangle us with a CMS:
While there's a lot going on, I'm afraid those of us working are already at capacity. So where money could help would be in luring in new people (or old people who want to jump in). It may be that getting some JavaScript-savvy folks involved who could speed up the tutorial development, or make an NPM package, or any of those things would draw in more interest and speed up any other goals...?
But a full compatible re-implementation of Rebol/View on top of JavaScript would be a tall order for anyone to commit to. That would require quite a bit of competency in cross-disciplinary skills, not to mention skills that are quite in-demand these days. :-/

posted by:   Fork     2-Mar-2018/16:36:32-8:00


posted by:   Busted Flat     3-Mar-2018/18:28-8:00

Fork, that's fantastic! Cyphre can do the View port, if anyone can get in touch with him.

posted by:   Nick     4-Mar-2018/7:33:35-8:00