Skip to content
The Wright programming language (WIP)
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea
ci
wright
.buildconfig
.gitignore
.travis.yml
CODE_OF_CONDUCT.md
LICENSE
README.md
appveyor.yml

README.md

The Wright language

A language that flies

Build Status Build status Documentation Crates.io GitHub release GitHub (pre-)release Average time to resolve an issue Percentage of issues still open Status Minimum Rust Version

Downloads
Total Github All Releases
Releases Github Releases
Pre-Releases Github Pre-Releases
Crates.io Crates.io
Crates.io (Latest) Crates.io

Wright is a lightweight programming language that is intended for use in similar situations to other JVM languages like Java and Kotlin. What makes wright different is its unique approach to the object oriented model, following an enforcing concepts from more functional languages. From rust, for example, wright uses a trait and polymorphism system, along with tagged unions. Wright also takes from Java'sinheritance model, but slightly tweaks it, prevent inheritance based issues and confusion.

Wright is inspired by
  • Rust
    • Traits
    • Tagged Unions
    • Type aliases
    • Structs
    • Functional Programming, Lambda expressions.
    • Mutability vs Immutability
    • Type inference
    • Memory safety
    • Concurrency
  • Java
    • Inheritance*
    • Bytecode format
    • Mutability vs Immutability
    • Type inference (In Java 10)
  • Kotlin
    • Inheritance*
    • Bytecode format
    • Mutability vs Immutability
    • Type Inference
  • Python
    • Type Inference
    • Ease of use
  • JavaScript
    • Object Oriented Model
The core goals of the language:
  • Ease of use
  • Robustness
  • Reasonable speed
  • Memory Safety
  • Concurrency
  • Portability
  • Interoperability with other JVM languages including Java and Kotlin.
It functions on a system of
  • Strong typing
  • Static typing
  • Parametric polymorphism
  • Object-Oriented programming
  • Functional programming
  • Multi-paradigm programming

Installation:

There are several installation options.

  1. Get the latest stable version from the releases page.
  2. If you have rust, via cargo install wright.
  3. Building from source, by cloning this repository, and running cargo build --release in the wright directory, and then adding wright/target/release to your system path.
You can’t perform that action at this time.