Orange

This is the user guide for the Orange programming language. Orange is a statically typed, imperative, systems programming language. Its main goal is to enable high productivity without sacrificing performance and control. The high productivity is achieved through:

Support for third-party hooks into the compiler to enable language extensions

A package manager to easily download extensions and libraries

Minimal need for type annotations

Support for multiple paradigms (OOP, structured)

Clean syntax for clear and concise code

Optional memory safety

Builtin complex expressions like array ranges and tuples

Easily extend new methods to existing types, even POd types like int and bool

Please note that Orange is still a work in progress and still sees design changes; all features and syntax are subject to change.