Vala is a new programming language that aims to bring modern programming language features to GNOME developers without imposing any additional runtime requirements and without using a different ABI compared to applications and libraries written in C.
valac, the Vala compiler, is a self-hosting compiler that allows the translation of Vala source code into C source and header files. valac uses the GObject type system to create classes and interfaces declared in the Vala source code.
Vala is designed to allow access to existing C libraries, especially GObject-based libraries, without the need for runtime bindings. All that is needed to use a library with Vala is an API file, containing the class and method declarations in Vala syntax.
Vala currently comes with experimental bindings for GLib and GTK+. It's planned to provide generated bindings for the full GNOME Platform at a later stage.
- Support \uXXXX escape sequences.
- Support specifying vfunc order in interfaces to define ABI.
- Support GTK+ widget templates.