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: + Always use G_TYPE_CHECK_INSTANCE_TYPE for external symbols + When freeing local variables don't stop at "switch" on "continue" [#799] + Use array_length of collection variable instead of expression + Assign GValue result of function calls to temp-var on copy_value [#819] + Real structs are allowed by simple generics and passed as reference [#819] + Use G_TYPE_CHECK_INSTANCE_CAST for comparisons with interfaces + Include required type-definition when casting from generic pointer [#828] - girwriter: + Mention that this file is generated and not meant to be modified + Properly resolve GLib.TypeInterface instead of hardcoding it + Multiple improvements and fixes for e.g. GType classes - girparser: + Add support for string "ctype" metadata [#793] + Skip 'attribute' elements + Handle "function-macro" by skipping them [gi#159] - parser: Multiple corrections for source-location of code-nodes - compiler: Add OptionFlags.NO_ARG to deprecated "--thread" option - build: Pass -no-undefined when linking libvalaccodegen [#820] - tests: Null-terminate arrays for compatibility test of uint8 / uchar [#809] * Bindings: - clutter-1.0: Bind Margin, PaintVolume, Point, Rect and Size as struct [#795] - cogl-1.0: Fix out-params in Cogl.get_modelview_matrix/projection_matrix/ bitmasks [#794] - glib-2.0: Bind strcmp0 as GLib.CompareFunc<string?> [#810] - glib-2.0: Add MappedFile.from_fd constructor [#824] - gtk+-3.0: Update to 3.24.9~18177388 - posix: Fix return-value of mknod() and c-include for tcgetsid() - webkit2gtk-4.0: Fix WebContext.initialize_notification_permissions() - x11: Fix return type of XInternAtoms and XGetAtomNames bindings - xtst: Fix signature of XTest.fake_relative_motion_event() ChangeLog ========= https://download.gnome.org/sources/vala/0.40/vala-0.40.16.changes (5.36K) Download ======== https://download.gnome.org/sources/vala/0.40/vala-0.40.16.tar.xz (3.25M) sha256sum: eb4402467738618de993da173b3e1b9c2895490f536d8080c311cb94ab2b626f _______________________________________________ ftp-release-list mailing list ftp-release-list@gnome.org https://mail.gnome.org/mailman/listinfo/ftp-release-list