Ua fa'alauiloa mai se lomiga fou o le compiler mo le gagana polokalame Vala, le lomiga 0.50.4. Ua fa'afouina fo'i le lālā lagolago umi (LTS) o le Vala 0.48.14 (ua afifiina mo Ubuntu 18.04) ma le lala fa'ata'ita'i Vala 0.51.3.
O le gagana Vala o se gagana fa'apolokalame e fa'atatau i mea faitino e maua ai se fa'asologa tutusa ma le C # po'o le Java. Gobject (Glib Object System) o loʻo faʻaaogaina e fai ma faʻataʻitaʻiga. O le puleaina o mafaufauga e faʻatinoina e ala i le umiaina (soʻotaga e umia / le faʻaaogaina) poʻo le faʻaaogaina o le ARC (suiga o mea faʻaleagaina ma faʻaititia o faʻamatalaga faʻamatalaga mea i le tulaga faʻapipiʻi).
O le gagana e iai le lagolago mo su'esu'ega, galuega lambda, feso'ota'iga, sui ma tapuni, fa'ailoga ma avanoa, tu'usaunoaga, meatotino, ituaiga e le fa'aleaogaina, ituaiga fa'ailoga mo suiga fa'apitonu'u. O le pusa e sau ma le tele o faʻamau i faletusi i C (vala-girs, vala-extra-vapis). O polokalame Vala e fa'aliliuina i le fa'atusa C ona tu'ufa'atasia lea e se fa'aputuga masani C E mafai ona fa'atino polokalame i le fa'asologa o tusitusiga.
Lisi o suiga:
- Fa'aopoopo le lagolago fa'aopoopo mo le fa'aupuga params mo le vasega faufale Foo{ public Foo(params string[] args){ foreach (var arg in args) print(arg); }}
- codegen:
- Fa'aleleia atili le lagolago mo faufale SimpleType (mo se fa'ata'ita'iga fa'aoga e fusifusia ai le typedef uint32_t people_inside; mai le C) [SimpleType] [CCode (cname = "people_inside")] public struct PeopleInside : uint32 {}
- Fa'aleleia atili le taulimaina o le uiga "NoWrapper".
- CCode.type_cname ma get_ccode_type_name() e fa'atagaina mo vasega.
- G_TYPE_INSTANCE_GET_CLASS/INTERFACE e fa'aaoga pea mo fa'ailoga fafo.
- Fa'aaoga le g_boxed_free i le free-wrapper e fa'asoa ai le GLib.Value i luga o le fa'aputuga.
- Fa'amauina se fa'agasolo manatua i le taimi o le tatalaina fa'alilolilo o le GLib.Value (se koneteina lautele o so'o se ituaiga tau).
- Fa'amauina se galo e manatua pe a fesiita'i se fausaga fa'aputuga i se fa'aputuga.
- O le tofi o le faʻaleagaina o le fausaga matua e faʻamautinoa
- Ua toe fa'aleleia le toe maua sa'o o le symbol_reference o fa'amatalaga lafo.
- Ave'ese uma mea fa'apipi'i ole CCodeCastExpression.
- Taofi sese le vala'au i le tagata e fa'ailoa fa'alilolilo fa'aletonu.
- Feso'ota'i "string.h" mo strcmp() (POSIX profile, mode lea e fa'atupu ai e Vala le fa'ailoga e fa'aaoga ai na'o le faletusi C masani).
- Vala:
- Fa'aleleia atili le su'esu'eina o faila fa'apogai lua.
- GtkChild fields/properties e tatau ona fa'ailoa e le'o iai.
- E fa'asa ona toe tofia le fanua/meatotino a GtkChild.
- Ua tu'uina atu i le lambda se tu'utu'uga sa'o pe a tu'uina atu se tofiga.
- E fa'asāina le fa'aogaina o fausaga SimpleType fa'aoga tasi.
- GLib.Value unboxing fa'amautinoa ua toe fa'afo'i le tau e le'i umiaina.
- Fa'asa le lafoina o le GLib.Value i se fausaga fa'aleaogaina/faigofie.
- Fa'aopoopo le su'esu'eina o finauga i ituaiga fa'avae/vasega/tulaga fa'aoga.
- E fa'asa le pu'eina o va_list parameters/variables.
- Generics o loʻo i ai se faʻailoga i se fausaga e tatau ona lafo i le ituaiga saʻo pe a maua e aloese ai mai C UB.
- Fa'atino ituaiga fa'ai'uga mo le "i" totonu o le enum.
- Fa'aleleia atili le su'esu'eina o tala mo tofitofiga i le fanua e mafai ona tusia.
- E aofia ai le "stdlib.h" mo Enum.to_string() (POSIX).
- O le source_reference sa'o ua fa'atulaga mo suiga fa'aalia "lenei" ma le "i'uga"
- Tu'u mai se fe'au fa'aletonu mo se fa'agaioiga i totonu le sa'o o fa'amatalaga e tasi.
- Сodewriter: Taofi le fa'aopoopoina o le fa'asologa ";" ina ua uma le tino WithStatement.
- Girparser:
- O le fa'agaioiina o se sui e le ta'ua igoa e le'o lagolagoina e se auala po'o se fa'ailo ua saunia.
- Fa'aoga "delegate_target" metadata mo metotia ma ta'iala
- Fa'aoga "destroy_notify_cname" metadata i fanua
- Fa'aoga "type_get_function" metadata mo vasega ma feso'ota'iga
- Seti CCode.type_cname mo vasega pe a le o le faaletonu.
- girwriter: Faʻamautinoa o loʻo tusia elemene elemene.
- girwriter: Fa'atinoina le fa'aogaina o fa'ailo fa'ailoga.
- libvaladoc/html: Ave'esea le fa'avasegaina o fanua fausaga e tu'u ai le latou fa'atonuga muamua pe a fa'atupuina fa'amaumauga html valadoc.org
- libvaladoc: Ia mautinoa o tau mo Api.Class.is_compact o loʻo maua saʻo
- libvaladoc: Faʻaopoopo le afifi mo le "agedge" graphviz library
- Nonoa:
- Faʻatonuga laiti pe a faʻatupuina fusi: cairo, gobject-2.0, pango, goocanvas-2.0, fetuu, alsa, bzlib, sqlite3, libgvc, posix, gstreamer-1.0, gdk-3.0, gdk-x11-3.0, gtk+-3.0, gtk4 fuse, libxml-2.0
- gdk-pixbuf-2.0: Fix Pixbuf.save_to_streamv_async()
- gio-2.0: PollableOutputStream.write*_nonblocking() fusifusia
- gio-2.0,gtk+-3.0,gtk4: O uiga c-ituaiga manino o va_list parameter ua lafoai
- gio-2.0: Filifilia o lo'o misi mo nisi AppInfo/File.*() metotia
- glib-2.0: Faʻaopoopo GLib.[S]List.is_empty() auala faigofie mo le leai o se mea.
- glib-2.0: Nonoa le galuega assert_cmp* [#395]
- glib-2.0: Fa'aleleia OptionEntry.flags ituaiga fanua
- glib-2.0: PtrArray ua avea nei ma vasega laiti o GenericArray
- gstreamer-1.0: CCode.type_id o le MiniObject ua seti i le G_TYPE_BOXED [#1133]
- gtk+-2.0,javascriptcoregtk-4.0: Fa'asa'o le fa'aogaina o le uiga CCode.type_cname
- gtk + -3.0, gtk4: Faʻamauina nisi faʻatonuga faʻafoʻi faʻatatau ma faʻamaufaʻailoga
- gtk4: Fa'afouina ile version 4.0.2.
puna: opennet.ru
