[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gnome-announce
Subject:    [ANNOUNCE] Vala 0.8.0 - Compiler for the GObject type system
From:       Jürg Billeter <j () bitron ! ch>
Date:       2010-03-31 21:00:06
Message-ID: 1270069206.23905.4.camel () jdesktop
[Download RAW message or body]

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

Vala 0.8.0 is now available for download at:
   http://download.gnome.org/sources/vala/0.8/

Changes since 0.7.10
 * Infer type arguments when calling generic methods.
 * Support `in' operator for arrays.
 * Add experimental support for regular expression literals.
 * Add experimental support for chained relational expressions.
 * Add va_list support.
 * Add clutter-gtk-0.10 bindings (Gordon Allott).
 * Add gdl-1.0 bindings (Nicolas Joseph).
 * Add gstreamer-app-0.10 bindings (Sebastian Dröge).
 * Add gstreamer-cdda-0.10 bindings (Sebastian Dröge).
 * Add gudev-1.0 bindings (Jim Nelson).
 * Add libgda-report-4.0 bindings (Shawn Ferris).
 * Add libgvc (graphviz) bindings (Martin Olsson).
 * Add purple bindings (Adrien Bustany).
 * Many bug fixes and binding updates.

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.

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. 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
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

        http://live.gnome.org/Vala


Jürg Billeter

_______________________________________________
gnome-announce-list mailing list
gnome-announce-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gnome-announce-list

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic