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: + Don't initialize stack-allocated array with local-constant length [#910] + Add destroy of parameter in vfunc of delegate property setter [#919] + Reset outdated array _size_ variable after use as ref parameter [#929] + Use memset to init inline-allocated array with non-constant size [#910] - vala: + Properly set CodeNode.error when reporting an error + Improve robustness of analyzer pass for language-servers [#911] + Add local-variables to current scope regardless its error state + Fix circular reference in Property/EnumValueType + Report an internal error for unavailable context and bail + Prevent possible stack-overflow in Class.is_subtype_of() + Fix search for Parameter.base_parameter + Use error() instead of Report.error() inside of CodeContext.get() + Accept enum-values as length for inline allocated arrays [#935] + Improve copy of required attributes from delegate to lamdba method + Inherit lambda parameter attributes from delegate + Inline-allocated array aren't instantiated with creation expression [#926] - Add missing CodeContext.pop() calls - girparser: + Report a warning for conflicting class and instance methods + Decrease return_array_length_idx for transformed function + Delay adding of "GLib.Object" prerequisite to interfaces - vapigen: Define "GOBJECT" corresponding to set profile of CodeContext [#933] - valadoc: Create and register current Vala.CodeContext properly - parser: Improve error message for invalid ArrayCreationExpression [#939] - testrunner: Pass G_DEBUG=fatal-warnings to invalid test - manual: Update from wiki.gnome.org * Bindings: - Add some fundamental deps files to improve --nostdpkg support [#911] - glib-2.0: Add binding for g_poll() [#924] - glib-2.0: Add binding for g_win32_ftruncate() - glib-2.0: Add missing IOChannel's win32 API - glib-2.0: Add missing "type_id"/"has_type_id" attributes to structs [#921] - glib-2.0: Memory profiling ("g_mem_*") is deprecated since 2.46 - gio-2.0: Add binding for g_io_error_from_win32_error() ChangeLog ========= https://download.gnome.org/sources/vala/0.40/vala-0.40.20.changes (6.54K) Download ======== https://download.gnome.org/sources/vala/0.40/vala-0.40.20.tar.xz (3.28M) sha256sum: 052f6dbe1580c10316f65147262b82cc68ed1bcc02fca050b7205b9cf40dd8aa _______________________________________________ ftp-release-list mailing list ftp-release-list@gnome.org https://mail.gnome.org/mailman/listinfo/ftp-release-list