Skip to content

The Radon Programming Language

Radon Logo
Radon is a programming language that is designed to be easy to learn and use.

Maintained by Md. Almas Ali

Hits GitHub release (latest by date) GitHub last commit GitHub issues GitHub pull requests GitHub contributors GitHub GitHub stars license


Website: https://radon-project.github.io

Documentation: https://radon-project.github.io/docs

Source: https://github.com/radon-project/radon


What Radon Includes Today

The current repository ships with:

  • An interactive REPL in radon.py
  • File execution with python radon.py program.rn
  • Inline execution with python radon.py -c 'print("hello")'
  • Dynamic types including numbers, strings, booleans, arrays, hash maps, and null
  • Functions, classes, methods, modules, and from ... import ... support
  • A Radon standard library in stdlib/
  • A Python bridge through pyapi() with runtime permission prompts

First Run

git clone https://github.com/radon-project/radon.git
cd radon
python radon.py

To run a file instead of the REPL:

python radon.py examples/simple.rn

Example

login.rn
import io

class Network {
    fun __constructor__(username, password) {
        this.username = username
        this.password = password
    }

    fun login() {
        if this.username == "radon" {
            if this.password == "password" {
                print("Log in successful")
            } else {
                print("Invalid credentials")
            }
        } else {
            print("Invalid credentials")
        }
    }
}

var username = input("Enter your username: ")
var password = io.Input.get_password("Enter your password: ")

var network = Network(username, password)
network.login()

Notes on Permissions

Some capabilities delegate to Python or the host system. When a program uses the Python API, disk access, or network access, Radon can prompt before continuing. The CLI also exposes testing-only flags such as --allow-py, --allow-disk, and --allow-network.