Jump to content
Compatible Support Forums
Sign in to follow this  
news

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

Recommended Posts

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:

http://download.gnome.org/sources/vala/0.3/

 

Changes since 0.3.2

* Support overriding default method handlers of signals.

* Support dynamic access to properties and signals of GObjects.

* 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

 

http://live.gnome.org/Vala

 

 

The Vala Team

 

Jürg Billeter and Raffaele Sandrini

 

 

_______________________________________________

 

Share this post


Link to post

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×