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

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

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.


 * Various improvements and bug fixes:
  - vapigen: Define "GOBJECT" corresponding to set profile of CodeContext [#933]
  - codegen:
    + Reset outdated array _size_ variable after use as ref parameter [#929]
    + Emit postconditions before free'ing local variables
    + Correctly access captured parameter in precondition of method [#144]
    + Use correctly typed array-length variable for property-getter
    + Use correctly typed array-length variable for delegate invocation
    + Inherit "array_length_type" from (base-) parameter/property/method [#938]
    + Improve handling of "array_length_type" attribute [#938]
    + Use memset to init inline-allocated array with non-constant size [#910]
    + Initialize temp-var for property array length before calling getter
    + Include "glib.h" for g_return_*() usage [#940]
  - vala:
    + 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]
  - valadoc: Create and register current Vala.CodeContext properly
  - parser: Improve error message for invalid ArrayCreationExpression [#939]
  - tests: Drop usage of "--main main" and avoid ambigious entry-points
  - manual: Update from wiki.gnome.org

 * Bindings:
  - Add cairo-gobject binding
  - cairo: Add missing type_id attributes guarded by GOBJECT define
  - 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
  - gio-2.0: Add binding for g_io_error_from_win32_error()
  - gstreamer: Update from 1.17.0+ git master
  - gtk4: Update to 3.98.1
  - posix: Add pathconf and fpathconf bindings
  - vapi: Update GIR-based bindings

https://download.gnome.org/sources/vala/0.48/vala-0.48.2.changes  (4.08K)

https://download.gnome.org/sources/vala/0.48/vala-0.48.2.tar.xz (3.27M)
  sha256sum: f095b0e624b8f4e5a426028ac255e477fad8c3b4c8cbbdebda8d6cd95bf79477

ftp-release-list mailing list

Reply via email to