Red is a programming language strongly inspired by Rebol, but with a broader field of usage thanks to its native-code compiler, from system programming to high-level scripting, while providing modern support for concurrency and multi-core CPUs. Red tackles the software building complexity using a DSL-oriented approach (we call them dialects ) . The following dialects are built-in: Red has its own complete cross-platform toolchain, featuring an encapper, a native compiler, an interpreter, and a linker, not depending on any third-party library, except for a Rebol2 interpreter, required during the alpha stage. Once 1.0 is reached, Red will be self-hosted. Currently, Red is still at alpha stage and 32-bit only . Human-friendly syntax Homoiconic (Red is its own meta-language and own data-format) Functional, imperative, reactive and symbolic programming Prototype-based object support Multi-typing Powerful pattern-matching Macros system Rich set of built-in datatypes (50+) Both statically and JIT-compiled( ) to native code Cross-compilation done right Produces executables of less than 1MB, with no dependencies Concurrency and parallelism strong support (actors, parallel collections)( ) Low-level system programming abilities through the built-in Red/System DSL Powerful PEG parser DSL built-in Fast and compacting Garbage Collector Instrumentation built-in for the interpreter, lexer and parser. Cross-platform native GUI system, with a UI layout DSL and a drawing DSL Bridging to the JVM High-level scripting and REPL GUI and CLI consoles included Visual Studio Code plugin, with many helpful features Highly embeddable Low memory footprint Single-file (~1MB) contains whole toolchain, full standard library and REPL ( ) No install, no setup Fun guaranteed! Note: check also the following improved version allowing you to click on a given commit log and open the commit page on github. You can now head to see and try some showcasing scripts here and there. You can run those examples from the console directly using Github's "raw" link. E.g.: Note: If you are using the Wine emulator, it has some issues with the GUI-Console. Install the Consolas font to fix the problem. The Red toolchain comes as a single executable file that you can download for the big-3 platforms (32-bit only for now). Rename the file to redc (or redc.exe under Windows). 6. Generate a compiled executable from that program: (first run will pre-compile libRedRT library) -d, --debug, --debug-stabs : Compile source file in debug mode. STABS is supported for Linux targets. -r, --release : Compile in release mode, linking everything together (default: development mode). -u, --update-libRedRT : Rebuild libRedRT and compile the input script (only for Red scripts with R/S code). --no-view : Do not include VIEW module in the CLI console and the libRedRT. --red-only : Stop just after Red-level compilation. Use higher verbose level to see compiler output. (internal debugging purpose) --show-func-map : Output an address/name map of Red/System functions, for debugging purposes. build libRed [stdcall] : Builds libRed library and unpacks the libRed/ folder locally. Note : The toolchain executable ( redc.exe ) relies on Rebol encapper which does not support being run from a location specified in PATH environment variable and you get PROGRAM ERROR: Invalid encapsulated data error. If you are on Windows try using PowerShell instead of CMD. You can also provide the full path to the executable, put a copy of it in your working folder or wrap a shell script (see relevant tickets: 543 and 1547). The compiler and linker are currently written in Rebol. Please follow the instructions for installing the compiler toolchain in order to run it from sources: 1. Extract the rebol binary, put it in the root folder, that's all! The compilation process should finish with a ...output file size message. The resulting binary is in the working folder. Windows users need to open a DOS console and run
Excerpt from the source-code README · 16,090 chars · not written by Vinony
via Wikidata · CC0
Discovered by embedding cosine similarity (sentence-transformers MiniLM, 384-dim).