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 the new generational references technique, enabling memory-safe control over data layout.
- Fearless: It is the safest native language, using region isolation and "Fearless FFI" to keep extern code's bugs from affecting Vale objects.
- Flexible: Its new take on regions enables alternate memory management and allocation strategies, with the planned region borrow checker enabling easy interop between them, and eliminating the vast majority of generational references' overhead.
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)
- Ian (linuxy) ($12/mo)
- Ivo Balbaert ($5/mo)
- Kevin Navero ($5/mo)
- Ilya Seletsky ($5/mo)
- Jean Juang ($100)
- Posnet ($50)
- 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.