Re: [Vala] [ANNOUNCE] Vala 0.3.3 - Compiler for the GObject type system

On Tue, Jun 3, 2008 at 2:18 PM, Jürg Billeter <j bitron ch> wrote:
We are pleased to announce version 0.3.3 of Vala, a compiler for the
GObject type system.

Vala 0.3.3 is now available for download at:

Changes since 0.3.2
 * Support overriding default method handlers of signals.
 * Support dynamic access to properties and signals of GObjects.

Every time a new Vala release comes out, there are features that I don't understand. Maybe these are obvious to everyone else, but what does "dynamic access to properties" mean?

It would be great to have a few sentences explaining each new significant feature...


 * Experimental support for nullable value types.
 * Improve support for classes not deriving from GLib.Object.
 * Support """verbatim strings""".
 * Add parser for Genie (Jamie McCracken)
 * Experimental support for arrays of arrays.
 * Documentation improvements (Phil Housley)
 * Improvements to D-Bus support (Ali Sabil, Philip Van Hoof, Yu Feng)
 * Add libepc-1.0 bindings (Ali Sabil)
 * Add libtiff bindings (Christian Meyer)
 * Updates to the GStreamer bindings (Ali Sabil and Jaap A. Haitsma)
 * Many bug fixes and performance improvements.

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

The Vala Team

       Jürg Billeter and Raffaele Sandrini

Vala-list mailing list
Vala-list gnome org

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