Skip to content

An interpreted dynamically typed programming language using Go, featuring a lexer, top‑down parser, and tree‑walking interpreter.

Notifications You must be signed in to change notification settings

MikhailWahib/Ra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ra Programming Language 𓋹

Ra is a simple interpreted programming language, built in Go. It features its own lexer, parser, and evaluator, and is designed for learning and experimenting with language development (not for production use).

let hello = fn(name) {
    puts("Hello, " + name + "!");
}

hello("World");

Getting Started

Prerequisites

  • Go 1.20+ installed

Installation

Clone the repository:

git clone https://github.com/MikhailWahib/Ra.git
cd Ra

Usage

Start the REPL:

go run ra.go

Examples

go run ra.go examples/<example-name>.ra

Build

go build -o bin/ra

Testing

To run all tests:

go test ./...

To run a single test:

go test ./<package-dir-name>

About

An interpreted dynamically typed programming language using Go, featuring a lexer, top‑down parser, and tree‑walking interpreter.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages