ΠΡΡ ΠΠ΅ΠΠΎΠ»Ρ (Drew DeVault), Π°Π²ΡΠΎΡ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠ°ΡΠ° ΡΡΠ΅Π΄Π° Sway, ΠΈΠΌΠ΅ΠΉΠ» ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Aerc ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Π·Π° ΡΡΠ²ΠΌΠ΅ΡΡΠ½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° SourceHut, ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π° Π²Π΅ΡΡΠΈΡ 0.26.0 Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈΡ Π΅Π·ΠΈΠΊ Hare. Hare ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Ρ ΠΊΠ°ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅Π½ Π΅Π·ΠΈΠΊ, Π±Π»ΠΈΠ·ΡΠΊ Π΄ΠΎ C, Π½ΠΎ ΠΏΠΎ-Π»Π΅ΡΠ΅Π½ ΠΎΡ Π½Π΅Π³ΠΎ. ΠΠ·Ρ ΠΎΠ΄Π½ΠΈΡΡ ΠΊΠΎΠ΄ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°Ρ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· GPLv3, Π° ΠΊΠΎΠ΄ΡΡ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· MPL (Mozilla Public License).
ΠΠ·ΠΈΠΊΡΡ Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ Π·Π° ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° Π½ΠΈΡΠΊΠΎ Π½ΠΈΠ²ΠΎ Π·Π°Π΄Π°ΡΠΈ, ΠΊΠ°ΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠΈ, ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΡΠΈΠ»ΠΈΡΠΈ, Π·Π° ΠΊΠΎΠΈΡΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΈ ΠΏΡΠ»Π΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ» Π²ΡΡΡ Ρ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ. Π Π΅Π·ΠΈΠΊΠ° ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° ΡΡΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΈ ΡΡΠ°ΡΠΈΡΠ½Π° ΡΠΈΠΏΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΏΡΠΈ ΠΊΠΎΡΡΠΎ Π²ΡΡΠΊΠ° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° ΡΡΠ½ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π·Π°Π΄Π°Π΄Π΅Π½Π° Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠΈΠΏ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΈΠ΄Π²Π° Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ runtime, Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠΈΠΏΠΎΠ²ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ, ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ ΠΈ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅. ΠΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΡΡ hare-wayland, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΠ²ΡΡΠ·Π²Π°Π½ΠΈΡ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° GTK, Vulkan, OpenGL, SDL3 ΠΈ libui.
Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΡΠ° Π½Π° ΡΠΈΠΊΡΠ»Π° βfor(β¦){β¦} else {β¦}β ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΈΠΊΡΠ»ΡΡ ΠΊΠ°ΡΠΎ ΠΈΠ·ΡΠ°Π· Π·Π° ΠΏΡΠΈΡΠ²ΠΎΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° βitem = for(β¦){β¦}β. Π‘ΡΠΎΠΉΠ½ΠΎΡΡΡΠ°, ΠΊΠΎΡΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½Π° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ°, ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π²ΡΡΠ½Π°ΡΠ° ΠΏΡΠΈ ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠΈΠΊΡΠ»Π° ΡΡΠ΅Π· ΠΈΠ·ΡΠ°Π·Π° βbreak ΡΡΠΎΠΉΠ½ΠΎΡΡβ ΠΈΠ»ΠΈ ΡΡΠ΅Π· ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° βyield ΡΡΠΎΠΉΠ½ΠΎΡΡ_ΠΏΠΎ_ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡβ Π² ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ΅Π½ΠΈΡ ΠΊΡΠΌ ΡΠΈΠΊΡΠ»Π° Π±Π»ΠΎΠΊ βelse{β¦}β, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·Π²ΠΈΠΊΠ²Π°, Π°ΠΊΠΎ ΡΠΈΠΊΡΠ»ΡΡ Π½Π΅ Π΅ Π±ΠΈΠ» ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ ΡΡΠ΅Π· break. const item = for (let sample .. items) { if (item.key == key) { break item; }; } else { yield -1; };
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΈΡΠ²ΠΎΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° β_β Π·Π° ΠΈΠ³Π½ΠΎΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈ (Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° Π³ΡΠ΅ΡΠΊΠ° Π½ΡΠΌΠ° Π΄Π° Π²ΡΠ·Π½ΠΈΠΊΠ½Π΅ assertion). _ = os::remove(β/some/fileβ);
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° β_β Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΈ ΠΏΠΎΠ»Π΅ΡΠ° Π² ΡΡΡΡΠΊΡΡΡΠΈ. Π’Π΅Π·ΠΈ ΠΏΠΎΠ»Π΅ΡΠ° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π·Π°ΠΏΡΠ»Π²Π°Π½Π΅. export type my_struct = struct @packed { x: u32, // offset: 0 _: u8, // offset: 4 y: u64, // offset: 5 };
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΡΠ²Π½ΠΎ ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΈ ΠΏΠΎΠ»Π΅ΡΠ° Π² ΡΡΡΡΠΊΡΡΡΠΈ Π² Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅, ΡΡΠ΅Π· ΠΏΡΠΈΡΠ²ΠΎΡΠ²Π°Π½Π΅ΡΠΎ ΠΈΠΌ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ Β«@undefinedΒ», Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π°. ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π΅Π·ΠΈΠΊΡΡ ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΠΈ Π³Π»ΠΎΠ±Π°Π»Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΏΡΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ ΠΈΠΌ. ΠΡΡΠ°Π²ΡΠ½Π΅ΡΠΎ Π² Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π½Π΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΎΠ±ΡΠ²ΡΠ²Π°Π½Π΅ΡΠΎ, Π° ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π°ΡΠΎ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ΅ ΠΏΠΎΠ΄Π°Π²Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π» ΠΊΡΠΌ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°, ΠΊΠΎΡΡΠΎ ΡΠ°Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°. let x: my_object = @undefined;
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Dragonfly BSD. ΠΠΎ-ΡΠ°Π½ΠΎ Π±ΡΡ Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈ Linux, FreeBSD, NetBSD ΠΈ OpenBSD.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
