diff options
author | Jürg Billeter <j@bitron.ch> | 2007-05-02 09:42:00 +0000 |
---|---|---|
committer | Jürg Billeter <juergbi@src.gnome.org> | 2007-05-02 09:42:00 +0000 |
commit | f8387ad143f1884f8f5f89bd5389605624f4c34f (patch) | |
tree | e75e563fc9535200ec146af72962e80778359ae4 /README | |
parent | 9db973114ee1449c1764404163ecc8294f8e73d2 (diff) | |
download | vala-f8387ad143f1884f8f5f89bd5389605624f4c34f.tar.gz |
Move contents of vala-pkg to trunk
2007-05-02 Jürg Billeter <j@bitron.ch>
* Move contents of vala-pkg to trunk
svn path=/trunk/; revision=300
Diffstat (limited to 'README')
-rw-r--r-- | README | 43 |
1 files changed, 43 insertions, 0 deletions
@@ -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/ |