Skip to content
/ R-Cpp Public

Make C++ Great Again! A modern compiled programming language based on LLVM.

License

Notifications You must be signed in to change notification settings

ZingLix/R-Cpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

R-Cpp

Build Status Github Actions Status

C++ is awesome, but it has too many disadvantages inherited from C. Abandoning C is totally impossible for C++ now. Therefore, this project was born. I want to design a completely new programming language which is still as powerful as C++ but simpler and easier.

You can consider R-Cpp as Cpp Reborn or Cpp Remake whatever. The final name is not determined, so if you have any good idea, contact me.

The main idea is to abandon some bad ideas from C and add some new features.

You can find some examples in the test file(all implemented) and my expectations here(might not be implemented).

Differences from C++

What you still will see in R-cpp

  • Zero Cost Abstractions
  • RAII
  • NO Garbage Collection
  • Automatic Type Deduction

What you will not see in R-cpp

  • Macro (template can do better)
  • Header Files (modules instead, no more declaration and implementation isolated)
  • Raw Pointer (smart pointer with ref count instead)

What's new

  • Compile-time Reflection

Installation

CMake and LLVM-10 are required.

cmake .
make

How to Use

./R-Cpp <filename>
clang output.o

The part of linking is still in progress, so you'll need to use clang/gcc to link the required library (libc).

About

Make C++ Great Again! A modern compiled programming language based on LLVM.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages