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: + Use G_TYPE_INSTANCE_GET_INTERFACE to get vtable for base-access + Fix setting of generic-type properties for gobject chain up [#654702] + Make type-parameter properties readable [#190] + Reduce code duplications when generation base-access - vala: + Warn when passing arrays to typeof(), except for "string[]" [#868] + Don't falsely resolve binary-expression to bool [#869] + Do not allow += for arrays with fixed length + Infer array length of inline allocated arrays for fields [#644046] + Do not allow to .resize() on arrays with fixed length + Do not allow to change .length of arrays with fixed length + Improve error message for arrays as type arguments + Improve error reporting for invalid interface prerequisites [#437] + Write value of constants/enums in fast-vapi if constant only [#461] + Restore DestroysInstance behaviour for non-compact classes [#873] - parser: `owned` is not allowed on Constants - girparser: Detect and replace "-" in parameter names - girwriter: Add readable="0"/private="1" attribute to type-specific fields - gidl: + Calculate size correctly, avoid use-after-free + Avoid use of uninitialized "markup" warning + Ignore flags like -mfpmath=sse, -msse or -msse2 - valadoc: + libvaladoc: Fix parameter and property ownership declarations + Fix ownership declarations of Constants - pkg-config: + vala: Add missing gmodule-2.0 to Requires.private of pkg-config file + libvaladoc: Move gmodule-2.0 to Requires.private of pkg-config file * Bindings: - glib-2.0: Guard against passing null source to GLib.Memory.copy() - gio-2.0: Use custom TaskReadyCallback delegate in Task.report*_error() - gstreamer: Update from 1.17.0+ git master - gtk+-3.0: Skip _MountOperationHandler* symbols - gtk4,gtk4-unix-print: Update to 3.96.0+ab407ba5 - libusb-1.0: Don't depend on glib-2.0 - libusb-1.0: Remove unused private "malloc" binding - linux: Add memfd_create(2) - posix: Bind some essential memory allocation functions - webkit2gtk-4.0: Update to 2.27.2 ChangeLog ========= https://download.gnome.org/sources/vala/0.46/vala-0.46.4.changes (4.64K) Download ======== https://download.gnome.org/sources/vala/0.46/vala-0.46.4.tar.xz (3.22M) sha256sum: 4bb9b60fc0230b0db2c8a0e2a80ec29f1c10b43dc78355abba78adedbc2e03a1 _______________________________________________ ftp-release-list mailing list ftp-release-list@gnome.org https://mail.gnome.org/mailman/listinfo/ftp-release-list