vala 0.40.19



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 precondition in creation method of structs
    + Don't set implemenation of interface property to its own [#891]
    + Use result value of assignment rather than its computation [#895]
    + Cast instance parameter in member-initializer for base-properties [#899]
    + Skip StructRegisterFunction for boolean/integer/floating types [#901]
    + Handle different type-symbols in visit_base_access() [#901]
   - vala:
    + VoidType is actually compatible with itself [#878]
    + Keep formal_target_type on transform of method-call/object-creation [#835]
    + Add a basic parameter check for [Print] methods
    + Don't ignore inner errors in Block and acknowledge them further
    + Don't report further errors if MemberInitializer.check() failed
    + Improve error message for unsupported inner types and declarations
    + Don't allow "va_list" as return-type or type of fields [#884]
    + Check before accessing "name" of parent_symbol which might be null
    + Allow to override base interface properties explicitly
    + Fix base-access check for compact classes
    + Improve detection of recursive struct declarations [#902]
    + Inline allocated arrays require length or initializer [#903]
    + Don't ignore errors in Parameter and acknowledge them further
  - parser: Implicit "main" method of main-block is public and static
  - genie: Fix parser's inner state when a struct is declared after a class
  - girparser: Apply explicitly given ctype metadata attributes on callables
  - testrunner: Invalid tests and therefore expected failures must return 1

 * Bindings:
  - glib-2.0: Add to_string() for GLib.PollFd and GLib.Pid
  - gtk+-3.0: Update to 3.24.13+3822ac74


ChangeLog
=========
https://download.gnome.org/sources/vala/0.40/vala-0.40.19.changes  (4.70K)

Download
========
https://download.gnome.org/sources/vala/0.40/vala-0.40.19.tar.xz (3.28M)
  sha256sum: fcff891308b613dcd870eeee37351a33abf910b1926a10c7f3c00fe32ef98e1a



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]