Home

Awesome

<!-- Put the icon at the top/in the title I guess... -->

<img src="./pages/static/assets/white_logo.png" height=50 /> The Wright Programming Language

A language that flies

Wright is an all-purpose programming language inspired by Rust, Ada, and Typescript. Pulling from all three of these excellent languages, Wright intends to offer a combination of speed, ergonomics, and precision.

Badges

Wright is automatically checked and tested using the latest available github runners for Ubuntu, MacOS, and Windows

ServiceBadge
Cargo Check StatusCargo Check status
Cargo Test StatusCargo Test status
Cargo Clippy StatusCargo Clippy status
Code Coverage (Coveralls)Coverage Status
Code Coverage (Codecov.io)codecov
Docs.rsDocumentation
Crates.ioCrates.io
GitHub releaseGitHub release
GitHub (pre-)releaseGitHub (pre-)release
Development StatusStatus
<!-- On `kill_cache=1` above: https://github.com/lemurheavy/coveralls-public/issues/1065#issuecomment-435494495 -->
Downloads
TotalGithub All Releases
ReleasesGithub Releases
Pre-ReleasesGithub Pre-Releases
Crates.ioCrates.io
Crates.io (Latest)Crates.io

Syntax Samples

// Hello World! 
use wright::io::println;

func main() {
    println("Hello World!");
}
// FizzBuzz 1 through 100
use wright::io::println;

type FizzBuzzInteger = integer constrain |i| { i <= 100 && i >= 0 };

func fizzbuzz(i: FizzBuzzInteger) {
    if i % 15 == 0 { println("FizzBuzz"); }
    else if i % 5 == 0 { println("Buzz"); }
    else if i % 3 == 0 { println("Fizz"); }
    else { println(i); }
}

func main() {
    // Compiler error here if we use a range iterator that contains a value violating the constraints of 
    // `FizzBuzzInteger`. 
    (1..=100).for_each(fizzbuzz);
}

The core goals of the language:

Installation:

There are several installation options.