Giter VIP home page Giter VIP logo

r3's Introduction

Ren-C Logo

Ren/C

Build Status

Ren-C is an interim fork of the Apache 2.0 open-sourced Rebol codebase. The goal of the project isn't to be a new language or a different console, rather to provide a smooth API for embedding a Rebol interpreter in C programs. This API would offer nearly the full range of power that is internally offered to the core, making it easy to write new clients or REPLs using it.

Because the API is not fully ready for publication, the current way to explore the new features of Ren-C is using the r3 console built by the makefile. It should function nearly identically (though it has been extended through user contribution to support a multi-line continuation method similar to Rebol2.) For those interested in a more novel application of the Ren-C library, see the C++ binding and Ren Garden.

In the process of designing the library, Ren-C also aspires to solve several of the major outstanding design problems that were left unfinished in the R3-Alpha codebase. Several of these problems have been solved already--and for progress and notes on these issues, a Trello board is frequently updated to reflect a summary of some of the changes.

In doing this work, the hope is to provide an artifact that would rally common usage between the mainline builds, community builds, and those made by Atronix Engineering and Saphirion AG.

For more information, please visit the FAQ:

https://github.com/metaeducation/ren-c/wiki/FAQ

Feel free to add your own questions to the bottom of the list.

Community

To promote the Rebol community's participation in public forums, development discussion for Ren-C generally takes place in the Rebol and Red StackOverflow Chat.

It is also possible to contact the developers through the Ren-C GitHub Issues page. This should be limited to questions regarding the Ren-C builds specifically, as overall language design wishes and debates are kept in the rebol-issues repository of Rebol's GitHub.

Building

There are currently two build systems in Ren-C: plain make files for basic features, and CMake for extended features.

  • With plain make files

First get the sources -- from cloning the repository with git, or downloading a ZIP:

https://github.com/metaeducation/ren-c/archive/master.zip

Next you need to get a pre-built R3-Alpha interpreter, rename it to r3-make or r3-make.exe, and put it in the %make/ subdirectory.

Then run:

make -f makefile.boot

The platform to target will be assumed to be the same as the build type of the r3-make you use. If your needs are more complex (such as doing a cross-compilation, or if the system/version in your r3-make doesn't match the target you want), refer to the bootstrap makefile %src/make/makefile.boot:

https://github.com/metaeducation/ren-c/blob/master/make/makefile.boot

(Note: Ren-C's build process cannot be performed with Rebol2. It requires R3-Alpha or Ren-C itself. However, it can build using an old pre-open-source R3-Alpha A111.)

  • With CMake

Please see https://github.com/metaeducation/ren-c/wiki/Building-Ren-C-with-CMake

r3's People

Contributors

0branch avatar angerangel avatar blackball avatar brianhawley avatar carls avatar ccx avatar dandlee avatar draegtun avatar earl avatar gchiu avatar giuliolunati avatar hostilefork avatar iarwain avatar ingohohmann avatar johnk- avatar kealist avatar kjk avatar ladislav avatar mark-hi avatar meshpoint avatar nicolas42 avatar rebolbot avatar rgchris avatar spytheman avatar tectorum avatar xqlab avatar zsx avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.