Kutulutsidwa kwa chilankhulo cha Hare 0.26

Drew DeVault, wolemba Sway user environment, Aerc email client, ndi SourceHut collaborative development platform, watulutsa mtundu 0.26.0 wa Hare programming language. Hare imatchedwa ngati system programming languages ​​yofanana ndi C koma yosavuta kuposa C. Compiler ndi toolchain source code zili ndi chilolezo pansi pa GPLv3, ndipo standard library code ili ndi chilolezo pansi pa MPL (Mozilla Public License).

Chilankhulochi chimakonzedwa kuti chithetse mavuto otsika kwambiri monga kupanga makina ogwiritsira ntchito, compilers, ma network applications ndi machitidwe omwe amafunikira kuti azichita bwino kwambiri komanso azilamulira zonse. Chilankhulochi chimagwiritsa ntchito kasamalidwe ka kukumbukira kwamanja ndi dongosolo lamtundu wa static, momwe kusintha kulikonse kumayenera kuperekedwa momveka bwino mtundu wake.

Kuti mugwiritse ntchito pulogalamuyi, nthawi yocheperako imaperekedwa, ndipo pakukulitsa, laibulale yokhazikika yantchito imagawidwa, yomwe imapereka mwayi wolumikizana ndi makina ogwiritsira ntchito, komanso kupereka ntchito zogwirira ntchito ndi ma algorithms, ma protocol ndi mawonekedwe, kuphatikiza zida zogwiritsira ntchito mawu okhazikika komanso kubisa. Pakukonza ma graphical application, zida za hare-wayland zikupangidwa, komanso zomangira kuti mupeze kuthekera kwa GTK, Vulkan, OpenGL, SDL3 ndi libui.

Mu mtundu watsopano:

  • Yawonjezera "for(…){…} else {…}" loop build ndi kuthekera kogwiritsa ntchito loop ngati mawu ofotokozera mtengo ku variable "item = for(…){…}". Mtengo womwe udzaperekedwe ku variable ukhoza kubwezedwa pamene loop yasweka ndi mawu akuti "break value" kapena pofotokoza "yield default_value" mu block ya "else{…}" yolumikizidwa ku loop, yomwe imatchedwa ngati loop si yasweka ndi break. const item = for (let sample .. items) { if (item.key == key) { break item; }; } else { yield -1; };
  • Yawonjezera kuthekera kogwiritsa ntchito gawo la "_" kuti munyalanyaze kukonza zolakwika (ngati cholakwika chichitika, palibe chitsimikizo chomwe chidzakwezedwa). _ = os::remove(«/some/file»);
  • Yawonjezera kuthekera kogwiritsa ntchito mtengo wa "_" popanga minda yosatchulidwa m'mapangidwe. Minda yotereyi ingagwiritsidwe ntchito powonjezera padding. export type my_struct = struct @packed { x: u32, // offset: 0 _: u8, // offset: 4 y: u64, // offset: 5 };
  • Tsopano n'zotheka kusiya zosinthika ndi minda m'mapangidwe mu mkhalidwe wosasinthika mwa kuzipatsa mtengo "@undefined." Kale, chilankhulocho chinkafuna kuti zosinthika zonse zapafupi ndi zapadziko lonse ziyambe kukhazikitsidwa panthawi yolenga. Kuzisiya zosasinthika kungakhale kofunikira pamene chosinthika chikufunika kuyambitsidwa pambuyo pake, osati panthawi yolengeza, mwachitsanzo, pamene cholozera ku chosinthika chomwe ntchitoyo iyenera kuyambitsa chaperekedwa ku ntchito. let x: my_object = @undefined;
  • Chithandizo cha makina ogwiritsira ntchito a Dragonfly BSD chawonjezedwa. Kale, Linux, FreeBSD, NetBSD, ndi OpenBSD zinkathandizidwa.

Source: opennet.ru

Kuwonjezera ndemanga