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.