From: Rico Tzschichholz Date: Sun, 6 Nov 2016 09:11:50 +0000 (+0100) Subject: doap: Add description as required X-Git-Tag: 0.35.1~33 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f56ac63b6c6d3e9238cb1bb11e0ae726bbaf6434;p=thirdparty%2Fvala.git doap: Add description as required --- diff --git a/vala.doap b/vala.doap index 13df55bed..2157225d6 100644 --- a/vala.doap +++ b/vala.doap @@ -7,6 +7,28 @@ vala Compiler for the GObject type system + 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, Type modules (Plugins) + +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+ and many others from the GNOME +Platform. + +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.