news 28 Posted April 21, 2008 We are pleased to announce version 0.3.1 of Vala, a compiler for the GObject type system. Vala 0.3.1 is now available for download at: http://download.gnome.org/sources/vala/0.3/ Changes since 0.2.0 * Enable non-null types by default. * Add --disable-non-null commandline option. * New handwritten parser. * Support virtual methods in interfaces. * Add `dynamic' type modifier for D-Bus client support. * Add experimental support for writing D-Bus services. * Don't require `new' operator for structs. * Warn when using deprecated syntax. * Add lib[censored]y bindings (Evan Nemerson) * Updates to the GLib and GTK+ bindings. * Many bug fixes. 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 translates Vala source code into C source and header files. It uses the GObject type system to create classes and interfaces declared in the Vala source code. It's also planned to generate GIDL files when gobject- introspection is ready. The syntax of Vala is similar to C#, modified to better fit the GObject type system. Vala supports modern language features as the following: * Interfaces * Properties * Signals * Foreach * Lambda expressions * Type inference for local variables * Generics * Non-null types * Assisted memory management * Exception handling Vala is designed to allow access to existing C libraries, especially GObject-based libraries, without the need for runtime bindings. Each to be used library requires a Vala API file at compile-time, containing the class and method declarations in Vala syntax. Vala currently comes with bindings for current versions of GLib, GTK+, and many more. Using classes and methods written in Vala from an application written in C is not difficult. The Vala library only has to install the generated header files and C applications may then access the GObject-based API of the Vala library as usual. It should also be easily possible to write a bindings generator for access to Vala libraries from applications written in e.g. C# as the Vala parser is written as a library, so that all compile-time information is available when generating a binding. More information about Vala is available at http://live.gnome.org/Vala The Vala Team Jürg Billeter and Raffaele Sandrini _______________________________________________ Share this post Link to post