Name : vala
| |
Version : 0.8.1
| Vendor : Mandriva
|
Release : 1mdv2010.1
| Date : 2010-04-21 16:01:31
|
Group : Development/Other
| Source RPM : vala-0.8.1-1mdv2010.1.src.rpm
|
Size : 3.17 MB
| |
Packager : Götz Waschk < waschk_mandriva_org>
| |
Summary : Compiler for the GObject type system
|
Description :
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 * Non-null types [PARTIAL] * Exception handling [PLANNED] * Assisted memory management
* type modules (aka. Plugins)
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 experimental 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.
|
RPM found in directory: /vol/rzm6/linux-mandriva/official/2010.1/i586/media/main/release |