Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Red | 5,291 | a day ago | 480 | bsl-1.0 | Red | |||||
Red is a next-generation 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 and cross-platform reactive GUI, while providing modern support for concurrency, all in a zero-install, zero-config, single ~1MB file! | ||||||||||
Essential Java | 560 | 4 years ago | mit | |||||||
Essential Java, is a book about the Essentials of Java Programming.《Java 编程要点》是一本 Java 的学习教程,主要介绍 Java 中应用广泛的部分,其中也包括了最新版本 Java 8 中的新特性,也算是个人对多年 Java 开发工作的总结。取其精华,图文并茂,并通过大量实例让你走近 Java 的世界! | ||||||||||
Qt5 Book Code | 499 | a year ago | 1 | mit | C++ | |||||
Porting source code of the book C++ GUI Programming with Qt 4 from Qt4 to Qt5 | ||||||||||
Python Gui Programming Cookbook Second Edition | 305 | 8 months ago | mit | Python | ||||||
Python GUI Programming Cookbook, Second Edition, published by Packt | ||||||||||
Python Gui Programming With Tkinter | 213 | 3 months ago | 1 | mit | Python | |||||
Python GUI Programming with Tkinter, published by Packt | ||||||||||
Mastering Gui Programming With Python | 156 | 8 months ago | 1 | mit | Python | |||||
Mastering GUI Programming with Python | ||||||||||
Tkinter Gui Programming By Example | 141 | 8 months ago | 11 | mit | Python | |||||
Tkinter GUI Programming by Example, published by Packt | ||||||||||
Termux Gui | 135 | 4 years ago | 1 | Python | ||||||
We provide the gui for termux . it is a Linux system with gui running on Android for AI programming without root.Ai framework: tensorflow,caffe,MXNet,keras,torch,ncnn,opencv already build in . All in one! ! | ||||||||||
Hands On Gui Programming With Cpp And Qt5 | 99 | 8 months ago | mit | C++ | ||||||
Hands-On GUI Programming with C++ and Qt5, published by Packt | ||||||||||
Qt5 C Gui Programming Cookbook | 98 | 8 months ago | 1 | mit | JavaScript | |||||
Code repository for Qt5 C++ GUI Programming Cookbook, published by Packt |
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.
Red's main features are:
(*) Not implemented yet. (**) Temporarily split in two binaries
More information at red-lang.org.
Download a GUI or CLI console binary suitable for your operating system, rename it at your convenience, then run it from shell or by double-clicking on it (Windows). You should see the following output:
---== Red 0.6.4 ==--
Type HELP for starting information.
>>
A simple Hello World would look like:
>> print "Hello World!"
Hello World!
If you are on the GUI console, a GUI Hello World (prompt omitted):
view [text "Hello World!"]
A more sophisticated example that retrieves the last commits from this repo and displays their log messages in a scrollable list:
view [
text-list data collect [
foreach event load https://api.github.com/repos/red/red/commits [
keep event/commit/message
]
]
]
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.:
>> do https://raw.githubusercontent.com/red/code/master/Showcase/calculator.red
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).
Put the downloaded redc binary in the working folder.
In a code or text editor, write the following Hello World program:
Red [
Title: "Simple hello world script"
]
print "Hello World!"
Save it under the name: hello.red
Generate a compiled executable from that program: (first run will pre-compile libRedRT library)
$ redc -c hello.red
$ ./hello
Want to generate a compiled executable from that program with no dependencies?
$ redc -r hello.red
$ ./hello
Want to cross-compile to another supported platform?
$ redc -t Windows hello.red
$ redc -t Darwin hello.red
$ redc -t Linux-ARM hello.red
The full command-line syntax is:
redc [command] [options] [file]
[file]
any Red or Red/System source file.
[options]
-c, --compile : Generate an executable in the working
folder, using libRedRT. (development mode)
-d, --debug, --debug-stabs : Compile source file in debug mode. STABS
is supported for Linux targets.
-dlib, --dynamic-lib : Generate a shared library from the source
file.
-e, --encap : Compile in encap mode, so code is interpreted
at runtime. Avoids compiler issues. Required
for some dynamic code.
-h, --help : Output this help text.
-o <file>, --output <file> : Specify a non-default [path/][name] for
the generated binary file.
-r, --release : Compile in release mode, linking everything
together (default: development mode).
-s, --show-expanded : Output result of Red source code expansion by
the preprocessor.
-t <ID>, --target <ID> : Cross-compile to a different platform
target than the current one (see targets
table below).
-u, --update-libRedRT : Rebuild libRedRT and compile the input script
(only for Red scripts with R/S code).
-v <level>, --verbose <level> : Set compilation verbosity level, 1-3 for
Red, 4-11 for Red/System.
-V, --version : Output Red's executable version in x.y.z
format.
--config [...] : Provides compilation settings as a block
of `name: value` pairs.
--no-compress : Omit Redbin format compression.
--no-runtime : Do not include runtime during Red/System
source compilation.
--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.
[command]
build libRed [stdcall] : Builds libRed library and unpacks the
libRed/ folder locally.
clear [<path>] : Delete all temporary files from current
or target <path> folder.
Cross-compilation targets:
MSDOS : Windows, x86, console (+ GUI) applications
Windows : Windows, x86, GUI applications
WindowsXP : Windows, x86, GUI applications, no touch API
Linux : GNU/Linux, x86, console (+ GUI) applications
Linux-GTK : GNU/Linux, x86, GUI only applications
Linux-musl : GNU/Linux, x86, musl libc
Linux-ARM : GNU/Linux, ARMv5, armel (soft-float)
RPi : GNU/Linux, ARMv7, armhf (hard-float)
RPi-GTK : GNU/Linux, ARMv7, armhf (hard-float), GUI only applications
Pico : GNU/Linux, ARMv7, armhf (hard-float), uClibc
Darwin : macOS Intel, console-only applications
macOS : macOS Intel, applications bundles
Syllable : Syllable OS, x86
FreeBSD : FreeBSD, x86
NetBSD : NetBSD, x86
Android : Android, ARMv5
Android-x86 : Android, x86
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:
Clone this git repository or download an archive (ZIP
button above or from tagged packages).
Download a Rebol interpreter suitable for your OS: Windows, Linux (or Linux), Mac OS X, FreeBSD, OpenBSD, Solaris.
Extract the rebol
binary, put it in the root folder, that's all!
Let's test it: run ./rebol
, you'll see a >>
prompt appear. Windows users need to double-click on the rebol.exe
file to run it.
From the REBOL console type:
>> do/args %red.r "%tests/hello.red"
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 hello.exe
from there.
You can compile the Red console from source:
>> do/args %red.r "-r %environment/console/CLI/console.red"
To compile the Windows GUI console from source:
>> do/args %red.r "-r -t Windows %environment/console/GUI/gui-console.red"
Note: the -c
argument is not necessary when launching the Red toolchain from sources, as the default action is to compile the input script (the toolchain in binary form default action is to run the input script through the interpreter).
The -r
argument is needed when compiling the Red console to make additional runtime functions available.
Note: The red git repository does not include a .gitignore
file. If you run the automated tests, several files will be created that are not stored in the repository. Installing and renaming a copy of .git/.gitignore-sample
file will ignore these generated files.
If you want to contribute code to the Red project be sure to read the guidelines first.
It is usually a good idea to inform the Red team about what changes you are going to make in order to ensure that someone is not already working on the same thing. You can reach us through our chat room.
Satisfied with the results of your change and want to issue a pull request on Github?
Make sure the changes pass all the existing tests, add relevant tests to the test-suite, and please test on as many platforms as you can. You can run all the tests using (from Rebol console, at repository root):
>> do %run-all-tests.r
If you want git version included in your Red console built from sources, use this command:
call/show "" ;-- patch call bug on Windows
save %build/git.r do %build/git-version.r ;-- lookup git version if available
do/args %red.r "-r %environment/console/CLI/console.red" ;-- build Console
write %build/git.r "none^/" ;-- restore git repo status
Some anti-virus programs are a bit too sensitive and can wrongly report an alert on some binaries generated by Red (see here for the details). If that happens to you, please report it to your anti-virus vendor as a false positive.
Both Red and Red/System are published under BSD license, runtime is under BSL license. BSL is a bit more permissive license than BSD, more suitable for the runtime parts.