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 append unreachable clean-up section of Block [#838] + Emit postconditions before free'ing local variables + Correctly access captured parameter in precondition of method [#144] + Append initializer for "_*_size_" of array field in internal struct + Avoid critical trying to serialize an unsupported type to Variant [#952] + Don't free value if property setter takes ownership [#953] + Correct field declaration for captured inline-allocated array [#954] + Correctly handle transformation of translated string-literal constants + Don't pass CCodeCastExpression to NULL-aware free macro [#953] + Fix binary 'in' operator on array with boxed value-typed needle [#951] + Add support for delegate parameters in signals [#205] + Use get_value_*_function() in GSignalModule.generate_marshaller() [#468] + Correctly handle signals returning real non-nullable struct [#466] + Use specified indices to access multidimensional array constants [#905] + codegen: Reduce code duplications when generation base-access + Fix base-access to non-abstract/non-virtual properties [#204] + Fix default of CCode.pos for parameters in async methods - vala: + Support struct initializer list in non-constant array [#949] + Handle unlock() statement in CodeWriter + Handle all ctors and dtors in CodeWriter + Consider boolean types are compatible with each other + Parse standalone integer/real literals as expression statement [#961] + Set default_construction_method in semantic-analyzer check if required + Fix cleaning of output in CodeContext.pkg_config_modversion() + Don't use possibly uninitialized backing field of package_name [#971] + Check assigned handler of dynamic signal before proceeding further + Don't perform version check on internal lambda method + Perform version check for types of non-external variable declarations + Quote symbol on report by version attribute check + Ensure non-empty argument list for "disconnect" before accessing it - girparser + Move special handling for certain parameters to process_callable() + Drop special handling of GLib.Data, GLib.PtrArray and GLib.String + Improve detection of AsyncReadyCallback/AsyncResult parameters [#340] - parser: Handle incomplete expression statements - testrunner: Compile and run tests separately - testrunner: Warnings and criticals should be fatal on compile time too * Bindings: - gio-2.0: Add "async_result_pos" attributes to *.call_with_unix_fd_list() [#340] - glib-2.0: Guard Pid.to_string() with GLIB_2_50 to deal with G_PID_FORMAT - gstreamer-app-1.0: Don't merge Src.push_buffer_*() signal with its method [#968] - gtk+-3.0: Update to 3.24.18 - webkit2gtk-4.0: Update to 2.28.0 [#974] ChangeLog ========= https://download.gnome.org/sources/vala/0.40/vala-0.40.21.changes (7.21K) Download ======== https://download.gnome.org/sources/vala/0.40/vala-0.40.21.tar.xz (3.30M) sha256sum: 8ffca70c0e9cd829829556bcdfd868cc9703cbaa7b325dad707b92967e38006b _______________________________________________ ftp-release-list mailing list ftp-release-list@gnome.org https://mail.gnome.org/mailman/listinfo/ftp-release-list