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 binary 'in' operator on array with boxed value-typed needle [#951] + 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] + Fix base-access to non-abstract/non-virtual properties [#204] + Fix default of CCode.pos for parameters in async methods - vala: + 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] + Add SourceReference.contains() and SourceLocation.to_string() + 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 * Bindings: - gio-2.0: Add "async_result_pos" attributes to *.call_with_unix_fd_list() [#340] - glib-2.0: Fix Filename.canonicalize() binding of g_canonicalize_filename - 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] - gstreamer-1.0: Don't skip GST_*_FORMAT strings [#970] - gtk4: Update to 3.98.3 - vapi: Update GIR-based bindings ChangeLog ========= https://download.gnome.org/sources/vala/0.48/vala-0.48.4.changes (4.68K) Download ======== https://download.gnome.org/sources/vala/0.48/vala-0.48.4.tar.xz (3.28M) sha256sum: 2f28765d1cb1de29de56e6160d8ce0718c49f29294a527abc71556fd4a1d0d73 _______________________________________________ ftp-release-list mailing list ftp-release-list@gnome.org https://mail.gnome.org/mailman/listinfo/ftp-release-list