The Vale Programming Language

Here be Dragons!

The Vale compiler is version 0.1.

This means:

  • It works!
  • ...technically.
  • It's still just a prototype.
  • You can make any program in it, but you will probably need to work around some holes.

We've made several-thousand line long programs in it, but there are rough edges:

  • Most problems in Vale code have nice compile errors, but not everything. There will be the occasional compiler crash.
  • It's not optimized yet. In these early phases, we're prioritizing ease of experimenting over compilation speed, and we're using Scala which is already rather slow.
  • The standard library is quite small (just a list, hash set, hash map).

Download at your own risk, and report any bugs to the github!

Releases

0.1.1 "Ivo" Release

Download:

This release adds:

  • A lot of bugfixes! Special thanks to Ivo Balbaert for finding the rough edges and reporting bugs!
  • Much more solid and reproducible building and running of the Vale compiler.
  • More functions and classes to the standard library.

The .zip includes:

  • valec.py, the main python script for invoking the compiler. Use python3 valec.py help for help.
  • vstl contains some classes you may find useful, such as a list, hashset, and hashmap.
  • BenchmarkRL, a terrain generator written in Vale, useful for comparing different regions. If on Linux, use benchmark.sh to run it against various regions.
  • samples, a collection of small programs written in Vale.
    • roguelike.vale is a program where you are an @ sign and can walk in four directions.
    • The rest are tiny programs that serve as test cases for the compiler.
  • builtins should be ignored, these are .vale and .c files used by the compiler itself.

0.1.0 "Eevee" Release

Linux: ValeCompiler-0.1.0.0-Linux.zip

Mac: ValeCompiler-0.1.0.0-Mac.zip

Windows: ValeCompiler-0.1.0.0-Win.zip