Convert from Vala
Vala is an object-oriented programming language with a self-hosting compiler that generates C code and uses the GObject system. Vala combines the high-level build-time performance of scripting languages with the run-time performance of low-level programming languages. It is designed to allow modern programming techniques to be used to write applications that run on the GNOME platform, using the language syntax that is similar to C#, but with additional features like signal handling and type inference.