Vale is a programming language whose goal is to show the world that speed and safety can be easy! Vale is:
- Fast: Vale is an AOT compiled language that uses an entirely new approach to memory management: generational references, which have zero aliasing costs and no garbage collection pauses.
- Fearless: It is the safest native language: memory safety, data-race safety, region isolation, extern boundaries, and dependency extern whitelisting.
- Flexible: Its new take on regions enables alternate memory management and allocation strategies, with the region borrow checker enabling seamless, fast, and easy interop between them.
Vale is part of the Vale Language Project, which explores, discovers, and publishes new programming language mechanisms that enable speed, safety, and ease of use.
See http://vale.dev/ for more information on the language, and please consider sponsoring us so that we can work on this even more!
See also our treasure trove of working examples, grouped by functionality.
- Download the latest binary at http://vale.dev/download
- Unzip it into, for example,
~/Vale
, andcd
into it. - Compile a program:
valec build hello=./samples/helloworld --output_dir target
- Run the program:
target/main
See the Guide for how to use Vale.
For instructions for building the compiler itself, see Building the Compiler.
For an overview of the project structure, see Compiler Overview.
- VSCode plugin: Syntax-highlighting and basic autocompletion.
- Vim plugin: Syntax-highlighting
- Joseph Jaoudi ($25/mo)
- Sergey "Shnatsel" Davidoff ($12/mo)
- Ivo Balbaert ($5/mo)
- Kevin Navero ($5/mo)
- Ilya Seletsky ($5/mo)
- Jean Juang ($100)
- Kim Shook ($20)
Vale started in January 2013, and back then we called it "VLang", though there's now another language with that name. We then called it GelLLVM, in honor of Gel, the first language to offer constraint references. Since then, we've settled on the name "Vale". Note that Vale and Vala are two different languages.