Red.js is a web runtime for the Red programming language that allows you use Red right in your browser. Although it's currently very incomplete, the end goal is to make it as similar to regular Red as possible. While I highly doubt it can happen, it'd also be cool for it to also include features like web equivalents for Red's View, Draw, Rich-Text, and VID dialects and a version of Red/System that can be compiled to WebAssembly.
NYI
In order to run this locally, you'll need:
- Haxe 4.3.1 (or higher)
- Some version of Node
- Run
haxe build.hxmlto build Red.js - Run
node bin/main.jsto start the Red.js REPL
NYI
- Because I didn't want to try recreating Red/System just yet, Haxe is being used for development instead.
- Things that interact with the OSs don't exist because web browsers don't do that.
- I have yet to benchmark anything, but there's a good chance that this is probably many times slower than the default implementation of Red.
- I'm currently only 1 person, so progress is gonna be kind of slow as long as it's just me.
This is sadly not possible due to the fundamental differences between Red and JS. In order to support all of the meta-programming features that Red has, it'd be no different transpiling to JS than just embedding the interpreter. There may be a JS dialect of Red.js at some point in the future, but for now it will remain interpreted.
Because it's helpful to be able to easily inspect values when debugging. I'll probably disable it some time in the future.
Red.js is not a perfect replica of normal Red, as there are a large number of things that Haxe/JS cannot do within a browser that can normally be done in Red (due to browser limitations). There could be features that only work when using Node or a different Haxe target, but I would like to mainly focus on features that work on both runtimes.
I already answered that.
I also already answered that.
Typescript is gross and doesn't have all the features necessary for this project.
Anything helps!
Please consider looking at TODO.md and FEATURES.md