From 173fa8cd03c805f6104a202c4fb8c6e8ef54fe18 Mon Sep 17 00:00:00 2001 From: Alistair Thomas Date: Mon, 19 Nov 2018 22:36:09 +0000 Subject: [PATCH] docs: Use Markdown for README and move to README.md --- Makefile.am | 1 + README | 43 +------------------------------------------ README.md | 40 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+), 42 deletions(-) create mode 100644 README.md diff --git a/Makefile.am b/Makefile.am index 88bef90ed..b3d6c3833 100644 --- a/Makefile.am +++ b/Makefile.am @@ -84,6 +84,7 @@ CLEANFILES = \ EXTRA_DIST = \ ChangeLog.pre-0-4 \ ChangeLog.pre-0-5-7 \ + README.md \ libvala.pc.in \ vala.m4 \ .version \ diff --git a/README b/README index f89f6b061..96dc92fbd 100644 --- a/README +++ b/README @@ -1,42 +1 @@ -Vala is a 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 - - https://wiki.gnome.org/Projects/Vala/ +See README.md diff --git a/README.md b/README.md new file mode 100644 index 000000000..bab55640f --- /dev/null +++ b/README.md @@ -0,0 +1,40 @@ +## What is Vala? +Vala is a 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+. + +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 [https://wiki.gnome.org/Projects/Vala/](https://wiki.gnome.org/Projects/Vala/) -- 2.47.2