v0.1.0

Violet logo Violet

A lightweight, fast, modern programming language inspired by Rust, Zig and Pascal.

Open Source MIT Licensed.

Lotus Docs Screenshot

Why choose Violet?

Violet is a lightweight, fast and modern programming language that gives the developer full control of the memory. The language provides safeguards that make writing memory safe programs intuitive, while providing low-level features that make the it suitable for systems programming.

speed

Fast

Violet uses LLVM and a custom backend to provide fast, small and resource efficient binaries. Violet prioritizes both compile time and execution time, and thus provides fast compile times in debug builds and speedy binaries on release.

settings

Cross-platform

Violet supports common platforms, such as Windows, Linux, OpenBSD, macOS and Android. Violet supports cross-compilation, to make program distribution seamless between differing platforms and system architectures (ABIs and APIs).

memory

Full Memory Control

Memory is managed manually, the programmer is responsible for allocating and freeing all memory used by the program. An allocator API that developers can use to customize their use of memory to fulfil their needs is provided.

box

Efficient Concurrency

Concurrency is provided throught the Io interface. Violet supports structured concurrency via IO scopes and task concurrency via task handles. Violet provides a scheduler API that can be used for concurrent operations.

code

Comptime and Generics

Generic programming and compile-time execution are provided by the generic and comptime features. Comptime makes code that generates code possible, allowing developers to save hours of development time through deduplication.

circle

One Way to Do Things

One async runtime. One allocator interface. One derive mechanism. Violet prioritizes cohesion that makes learning the language simple and the right way to solve a problem obvious.