summaryrefslogtreecommitdiff
path: root/vala.doap
blob: 451e23c94a1e4c8677e9fae33100905da2f2d99f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?xml version="1.0" encoding="UTF-8"?>
<Project xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
         xmlns:foaf="http://xmlns.com/foaf/0.1/"
         xmlns:gnome="http://api.gnome.org/doap-extensions#"
         xmlns="http://usefulinc.com/ns/doap#">

  <name xml:lang="en">vala</name>
  <shortdesc xml:lang="en">Compiler for the GObject type system</shortdesc>
  <description>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.</description>

  <homepage rdf:resource="https://wiki.gnome.org/Projects/Vala" />
  <developer-forum rdf:resource="https://discourse.gnome.org/tag/vala" />
  <download-page rdf:resource="https://wiki.gnome.org/Projects/Vala/Release" />
  <bug-database rdf:resource="https://gitlab.gnome.org/GNOME/vala/issues" />

  <category rdf:resource="http://api.gnome.org/doap-extensions#core" />
  <programming-language>Vala</programming-language>

  <author>
    <foaf:Person>
      <foaf:name>Jürg Billeter</foaf:name>
      <foaf:mbox rdf:resource="mailto:j@bitron.ch" />
      <gnome:userid>juergbi</gnome:userid>
    </foaf:Person>
  </author>
  <author>
    <foaf:Person>
      <foaf:name>Raffaele Sandrini</foaf:name>
      <foaf:mbox rdf:resource="mailto:rasa@gmx.ch" />
      <gnome:userid></gnome:userid>
    </foaf:Person>
  </author>
  <maintainer>
    <foaf:Person>
      <foaf:name>Rico Tzschichholz</foaf:name>
      <foaf:mbox rdf:resource="mailto:ricotz@ubuntu.com" />
      <gnome:userid>ricotz</gnome:userid>
    </foaf:Person>
  </maintainer>

</Project>