[ANNOUNCE] Vala 0.1.3 - Compiler for the GObject type system

We are pleased to announce version 0.1.3 of Vala, a compiler for the
GObject type system.

Vala 0.1.3 is now available for download at:

Changes since 0.1.2
 * Convert reference-type structs to classes for a more consistent type system.
 * Support `as` operator (Mathias Hasselmann).
 * Improve array support.
 * Experimental D-Bus client support.
 * Add GConf bindings.
 * Add libgnome and libgnomeui bindings.
 * Add Glade bindings.
 * Add libnotify bindings (Nicolas Christener, Roland Hostettler).
 * Add GnomeVFS bindings.
 * Add GtkSourceView bindings.
 * Add Panel Applet bindings.
 * Add GNOME Desktop Library bindings.
 * Add libsoup bindings.
 * Add libwnck bindings.
 * Add GtkMozEmbed bindings (Alberto Ruiz).
 * Add Poppler bindings (Alberto Ruiz).
 * Add Enchant bindings (Mathias Hasselmann).
 * Add Hildon bindings (Marcelo Lira).
 * Add SQLite bindings.
 * Add curses bindings (Ed Schouten).
 * Build system fixes (Nicolas Trangez).
 * Add manual pages for gidlgen and vapigen (Kumar Appaiah).
 * Many bug fixes all over the place.

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 GLib and GTK+. It's planned to provide generated bindings for
the full GNOME Platform at a later stage.

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


The Vala Team

        Jürg Billeter and Raffaele Sandrini

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]