Ukukhululwa komhumushi wolimi lokuhlela i-Vala 0.54.0

Inguqulo entsha yomhumushi wolimi lokuhlela i-Vala 0.54.0 isikhishiwe. Ulimi lwe-Vala luwulimi lokuhlela olugxile entweni olunikeza i-syntax efana ne-C# noma i-Java. Ikhodi ye-Vala ihunyushwa ohlelweni luka-C, lona, ​​oluhlanganiswe yi-compiler evamile engu-C ibe ifayela kanambambili futhi isetshenziswe ngesivinini sohlelo lokusebenza oluhlanganiswe kukhodi yento yesikhulumi esiqondiwe. Kungenzeka ukusebenzisa izinhlelo ngemodi yombhalo. Ulimi luthuthukiswa ngaphansi kwephrojekthi ye-GNOME. I-Gobject (Glib Object System) isetshenziswa njengemodeli yento. Ikhodi yokuhlanganisa isatshalaliswa ngaphansi kwelayisensi ye-LGPLv2.1.

Ulimi lusekelwe ekuhloleni, imisebenzi ye-lambda, izixhumanisi, izithunywa nokuvalwa, amasiginali nezikhala, okuhlukile, izakhiwo, izinhlobo ezingezona ize, uhlobo lokuchazwa kwezinto eziguquguqukayo zendawo (var). Ukuphathwa kwememori kwenziwa ngokusekelwe ekubaleni kwereferensi. Ilabhulali yezinhlelo ezijwayelekile i-libgee yakhelwe ulimi, ehlinzeka ngekhono lokudala amaqoqo ezinhlobo zedatha yangokwezifiso. Ukubalwa kwezakhi zeqoqo kusetshenziswa isitatimende sangaphambili kuyasekelwa. Ukuhlelwa kwezinhlelo zezithombe kwenziwa kusetshenziswa umtapo wezincwadi wezithombe we-GTK.

Ikhithi iza nenani elikhulu lokubophezela emitatsheni yolwazi ngolimi C. Umhumushi we-Vala uhlinzeka ngosekelo lolimi lwe-Genie, oluhlinzeka ngamakhono afanayo, kodwa nge-syntax ekhuthazwe ulimi lohlelo lwe-Python. Izinhlelo ezifana neklayenti le-imeyili le-Geary, igobolondo lesithombe le-Budgie, uhlelo lwenhlangano yezithombe nevidiyo ye-Shotwell, nezinye zibhalwe ngolimi lwesi-Vala. Ulimi lusetshenziswa kakhulu ekuthuthukisweni kokusatshalaliswa kwe-Elementary OS.

Okuqanjiwe okuyinhloko:

  • Ukwesekwa okwengeziwe kwezithunywa ezinenombolo eguquguqukayo yamapharamitha;
  • Kwengezwe iphrofayili ye-LIBC, efana nephrofayili ye-POSIX;
  • Isizukulwane esithuthukisiwe kumodi yephrofayela ye-POSIX;
  • Kwengezwe ikhono lokumemezela okuguquguqukayo okungaba nenani elingenalutho ngohlobo lwe-inference (var?);
  • Kwengezwe ikhono lokumemezela amakilasi anqatshelwe ifa (avaliwe);
  • Kwengezwe u-opharetha wokufinyelela okuphephile ezinkambu zekilasi ezingase zingasebenzi (a.?b.?c);
  • Kuvunyelwe ukuqaliswa kokuqukethwe kwesakhiwo ukuba ize (const Foo[] BARS = {{"bar", 42 }, null };);
  • Umsebenzi wokushintsha usayizi() awuvunyelwe kumalungu afanayo angashintshi;
  • Kwengezwe okuphumayo kwesixwayiso lapho uzama ukwenza ucingo lomsebenzi lube yize ((void)not_void_func(););
  • Umkhawulo osusiwe ezinhlotsheni zama-elementi e-GLib.Array;
  • Ifa lobunikazi elithi "unowned" elilungisiwe kusitatimende se-foreach();
  • Ukubophezela ku-webkit2gtk-4.0 kubuyekezwe kunguqulo 2.33.3;
  • Ukubophezela ku-gstreamer kubuyekezwe kwaba yinguqulo engu-1.19.0+ git master;
  • Ukubophezela ku-gtk4 kubuyekezwe kunguqulo 4.5.0~e681fdd9;
  • Ukubophezela kwe-gtk+-3.0 kubuyekezwe kwaba yinguqulo 3.24.29+f9fe28ce
  • Ukubophezela ku-gio-2.0,glib-2.0 kubuyekezwe kunguqulo engu-2.69.0;
  • Ku-linux, izibopho ku-SocketCAN zengeziwe;
  • Ukulungiswa kokubophezela kwe-glib-2.0, gio-2.0, gstreamer-rtp-1.0, javascriptcoregtk-4.0, gobject-2.0, pango, linux, gsl, rest-0.7, libusb, libusb-1.0, pixman-1, webkit-2gt isandiso-4.0, x11, zlib, gnutls;
  • Kukhishwe ukubopha kwe-gedit-2.20 kanye ne-webkit-1.0;
  • Izibopho ezibuyekeziwe ezisekelwe ku-GIR;
  • Amandla okuhlola ikhodi C ekhiqiziwe yengezwe ohlelweni lokuhlola;
  • I-girparser ethuthukisiwe, i-girwriter, i-valadoc, i-libvaladoc/girimporter;
  • Amaphutha anqwabelene kanye nokushiyeka kwezingxenye ezihlukahlukene zokuhlanganisa kulungisiwe.

Source: opennet.ru

Engeza amazwana