Re: [Vala] [ANNOUNCE] Vala 0.9.3 - Compiler for the GObject type system
- From: JM <interflug1 gmx net>
- To: vala-list <vala-list gnome org>
- Subject: Re: [Vala] [ANNOUNCE] Vala 0.9.3 - Compiler for the GObject type system
- Date: Thu, 15 Jul 2010 10:01:16 +0200
Congratulations for this release!
Can you explain the new GBoxed-based memory management in vala?
I know GBoxed is a generic wrapper for C structures, that only needs
copy and free functions. And I know that in vala a type get's boxed when
you use the '?' operator, like in 'string? s = null;'.
So what is new for the user? Or is this just for bindings?
best regards
Jörn
We are pleased to announce version 0.9.3 of Vala, a compiler for the
GObject type system.
Vala 0.9.3 is now available for download at:
http://download.gnome.org/sources/vala/0.9/
Changes since 0.9.2
* Support newlines in double quoted string literals.
* Add experimental support for main blocks.
* Add experimental vala tool to compile and run code.
* Initial support for generic delegates.
* Support using GClosure for delegate parameters.
* Support GBoxed-based memory management.
* Improvements to the .gir reader and writer.
* Various improvements to the Dova profile.
* 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
_______________________________________________
vala-list mailing list
vala-list gnome org
http://mail.gnome.org/mailman/listinfo/vala-list
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]