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: - vala: + Support static methods in error-domains [#829] + vala: Init formal_target_type of built ArrayCreationExpression from InitializerList [#835] + Add missing closing brace/bracket in to_string() of ArrayCreationExpression and InitializerList + Reject unary operations on nullable integer/floating/boolean type [#772] + Run FlowAnalyzer on all given source-files [#843] - codegen: + Don't append unreachable clean-up section of Block [#838] + Don't cause double-free due append_local_free() in uncaught-errors [#838] + Don't unconditionally add/return internal "result" variable [#838] - codewriter: Write "weak" modifier for properties - girparser/gidlparser: "value_owned = true" by default for property types - libvaladoc: Don't traverse into close circles with parent [#829] - genie: Creation methods should not be static - valadoc: Explicitly pass --pkg libvala@PACKAGE_SUFFIX@ as for doclets/tests * Bindings: - cairo: Add 1.16 symbols - glib-2.0: Fix MutexLocker binding - glib-2.0: Add missing "DestroysInstance" attributes to Mutex/Locker API - glib-2.0: Use 'GStatBuf' as ctype for 'Stat' - glib-2.0: DateTime.from_iso8601() can take a null TimeZone - gio-2.0: Drop metadata for NativeSocketAddress - gio-unix-2.0: Add UnixMountEntry.get_root_path() since 2.60 - gtk4: Sync from 0.46 branch - json-glib-1.0: Change abstract methods of Serializable to virtual [#840] - libsoup-2.4: soup_auth_new is not a constructor but a factory method [#791] - linux: Add more Input and update UserspaceInput bindings [#830] - posix: Add *at() calls and related constants [#823] - sqlite3: Bind sqlite3_expanded_sql() and sqlite3_normalised_sql() - sqlite3: Fix use of possibly unassigned parameter `errmsg' - webkit2gtk-4.0: Update to 2.26.0 ChangeLog ========= https://download.gnome.org/sources/vala/0.44/vala-0.44.8.changes (5.07K) Download ======== https://download.gnome.org/sources/vala/0.44/vala-0.44.8.tar.xz (3.20M) sha256sum: 347754fbfae52f00ade6a290fd6a29ce6825a7ef5ea107e782aeef6f1261f738 _______________________________________________ ftp-release-list mailing list ftp-release-list@gnome.org https://mail.gnome.org/mailman/listinfo/ftp-release-list