Skip to content
Vala branch to add objective c support. I should warn you that I do rebase this sucker...
C Shell
Pull request Compare This branch is 53 commits ahead, 1 commit behind phako:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
ccode
codegen
compiler
doc
gee
gobject-introspection
tests
vala
vapi
vapigen
.gitignore
AUTHORS
COPYING
ChangeLog.pre-0-4
ChangeLog.pre-0-5-7
INSTALL
MAINTAINERS
Makefile.am
NEWS
README
THANKS
autogen.sh
configure.ac
gitlog-to-changelog
vala-1.0.pc.in
vala.doap

README

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/
Something went wrong with that request. Please try again.