Vale is a systems programming language and compiler that strives to combine performance, safety, and ease in a way that avoids many of the complexities of traditional memory management techniques. It is ahead-of-time (AOT) compiled, targeting LLVM as a backend, and is statically typed. The language introduces a concept called generational references to provide memory safety without relying on a garbage collector, and aims for “safe without a borrow checker” (i.e. reducing the burden on the programmer). Vale also pursues what they call Fearless FFI to make foreign function interface (e.g. interoperating with C libraries) safer and less error-prone. The language supports single ownership semantics (so values have a unique owner, which simplifies reasoning) while also enabling aliasing under controlled circumstances.
Features
- Generational references for memory safety with speed
- AOT compilation via LLVM
- Statically typed with strong, safe FFI (“Fearless FFI”)
- Single ownership model without garbage collection
- Easy to write safe, performant low-level code
- Editor integrations (syntax highlighting, basic completion for VS Code; Vim plugin)