Programming Language Translation Translation Vala 0.56.0

released New version of the programming language translator VALA 0.56.0 . Vala language is an object-oriented programming language, provides syntax similar to C # or Java languages. The code on VALA is broadcast to the program in C language, which, in turn, is compiled by the standard SI compiler to the binary file and is performed at the speed of the application compiled into the object code of the target platform. It is possible to launch programs in the scenario mode. The language is developing under the auspices of the GNOME project. GOBJECT (GLIB OBJECT SYSTEM) is used as an object model. Compiler code spreads under the LGPLV2.1 license.

In the language there is support for introspection, lambda functions, interfaces, delegates and closures, signals and slots, exceptions, properties, non-zero types, type removal for local variables (VAR). Memory management is carried out on the basis of reference count. For language, a library of generalized LIBGEE programming is developed, providing the ability to create collections for user data types. Supported by the listing of elements of collections using the Foreach operator. Programming graphic programs is carried out using the GTK graphic library.

Included a large number of binding to C libraries in C. The VALA translator is supported by the Genie language, which provides similar capabilities, but with syntax, inspired by Python programming language. In the language of Vala, programs as the Geary email client, the Budgie graphics shell, the Shotwell photo and video file program and others are written. The language is actively used in the development of the Elementary OS distribution.

Basic innovations :

  • Added support for asynchronous Main () function;
  • Added support for nested functions;
  • changed output format warning and compilation errors;
  • provided the ability to dynamically call signals;
  • Added support for partial (partial) classes – classes of contents of which are in several source files;
  • For bindings Added the ability to set the types of arrays. Early was allowed only a 32-bit integer type;
  • Added support for Foreach Operator for Glib.Sequence and Glib.array;
  • new bindings libsoup, linux-media;
  • During the porting process, the GNOME-Desktop library was divided into GNOME-Desktop-4, GNOME-RR-4 and GNOME-BG-4.
  • GNOME programming guides are expanded by examples on Vala.
  • updated bindings:
    • gtk4 to version 4.6.0 + 06EC4EC1;
    • gstreamer to version 1.21.0+ Git Master;
    • Gio-2.0 to version 2.72;
    • GLIB-2.0 to version 2.72;
    • gobject-2.0 to version 2.72;
    • WebKit2GTK – *. 0 to version 2.35.1.
/Media reports.