From f8387ad143f1884f8f5f89bd5389605624f4c34f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrg=20Billeter?= Date: Wed, 2 May 2007 09:42:00 +0000 Subject: Move contents of vala-pkg to trunk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2007-05-02 Jürg Billeter * Move contents of vala-pkg to trunk svn path=/trunk/; revision=300 --- README | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 README (limited to 'README') diff --git a/README b/README new file mode 100644 index 000000000..366e2dbd9 --- /dev/null +++ b/README @@ -0,0 +1,43 @@ +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 [PLANNED] + * Non-null types [PARTIAL] + * Assisted memory management + * Exception handling [PLANNED] + +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 +incomplete 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://www.paldo.org/vala/ -- cgit v1.2.1