About vala ========== 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. News ==== * Various improvements and bug fixes: - codegen: + Fix precondition in creation method of structs + Don't set implemenation of interface property to its own [#891] + Use result value of assignment rather than its computation [#895] + Cast instance parameter in member-initializer for base-properties [#899] + Skip StructRegisterFunction for boolean/integer/floating types [#901] + Handle different type-symbols in visit_base_access() [#901] + Explicitly include header for length-type of arrays + Explicitly include <glib.h> as needed for null-literal - vala: + VoidType is actually compatible with itself [#878] + Keep formal_target_type on transform of method-call/object-creation [#835] + Add a basic parameter check for [Print] methods + Don't ignore inner errors in Block and acknowledge them further + Don't report further errors if MemberInitializer.check() failed + Improve error message for unsupported inner types and declarations + Don't allow "va_list" as return-type or type of fields [#884] + Check before accessing "name" of parent_symbol which might be null + Allow to override base interface properties explicitly + Always bail if there are semantic errors + Fix base-access check for compact classes + Improve detection of recursive struct declarations [#902] + Inline allocated arrays require length or initializer [#903] + Don't ignore errors in Parameter and acknowledge them further - parser: Implicit "main" method of main-block is public and static - genie: Fix parser's inner state when a struct is declared after a class - girparser: Apply explicitly given ctype metadata attributes on callables - testrunner: Invalid tests and therefore expected failures must return 1 * Bindings: - glib-2.0: Add to_string() for GLib.PollFd and GLib.Pid - gstreamer: Update from 1.17.0+ git master - gtk+-3.0: Update to 3.24.13+3822ac74 - gtk4: Update to 3.96.0+4ab12ab7 - webkit2gtk-4.0: Update to 2.27.4 ChangeLog ========= https://download.gnome.org/sources/vala/0.46/vala-0.46.6.changes (5.29K) Download ======== https://download.gnome.org/sources/vala/0.46/vala-0.46.6.tar.xz (3.23M) sha256sum: ef31649932872f094971d46453b21c60a41661670f98afa334062425b4aec47a _______________________________________________ ftp-release-list mailing list ftp-release-list@gnome.org https://mail.gnome.org/mailman/listinfo/ftp-release-list