Язык Zig (канал)
174 subscribers
26 photos
3 videos
6 files
238 links
Download Telegram
Parra
https://github.com/metacall/gsoc-2025?tab=readme-ov-file#zig-port-implementation
кто хочет может залутать летом немного денег и опыта, по-моему из ограничений там только быть студентом

UPD: и второе ещё, сорри не знал:
Разрешено ли участие в GSoC 2025 участникам из Украины, России или Беларуси?
В связи с текущими обстоятельствами GSoC 2025 не принимает участников (соавторов, наставников или администраторов организаций) из России, Беларуси или так называемых Донецкой Народной Республики («ДНР») и Луганской Народной Республики («ЛНР»). Никаких ограничений для участников, находящихся на территории Украины, но за пределами ДНР и ЛНР, нет.

Ну думаю людей хотя б из остального СНГ и Украины в этом канале и чате наберётся
уууу походу если std.zon.parse используешь нельзя методы для какого-то типа отдельно перезаписать, как например сам parse
🤔3
Borrow checker для Zig (очень простой и для фана)

Analyzing AIR turned out to be a good decision, and from this project I conclude that Zig AIR is a very good target for many classes of static analysis on Zig code.


This CLR analyzer has been instrumented with four different types of tests:
* Undefined use
* Stack Pointer escape
* Allocation Mistakes
* Unit Tracking


https://github.com/ityonemo/clr
👍2
Эх блин, похрду GeneralPurposeAllocator всё таки превратят в DebugAllocator и производительность не будут улучшать как планировалось... (она будет в другом аллокаторе)

https://github.com/ziglang/zig/pull/20511

Я надеялся что https://github.com/ziglang/zig/issues/12484 примут, но походу нет и вместо этого сделают что-то типа:
// root потому что использовать в main
pub const RootAllocator = switch (builtin.mode) {
.Debug => DebugAllocator(.{}),
.ReleaseFast => FastAllocator(.{}),
// т.д.
};

pub fn main() void {
var allocator_instance: RootAllocator = .init;
defer _ = allocator_instance.deinit();
const allocator = allocator_instance.allocator();
}
👀3
Язык Zig (канал)
Эх блин, похрду GeneralPurposeAllocator всё таки превратят в DebugAllocator и производительность не будут улучшать как планировалось... (она будет в другом аллокаторе) https://github.com/ziglang/zig/pull/20511 Я надеялся что https://github.com/ziglang/zig/issues/12484…
хотяяя... впринципе норм, просто настройки будут у них разные полюбому, но это можно и самому конфигурировать
const MyRootAllocator = switch (builtin.mode) {
.Debug => DebugAllocator(.{ .stack_trace_frames = 10 }),
.ReleaseSafe, .ReleaseFast => FastAllocator(.{ .verbose_log = true }), // выдумал
.ReleaseSmall => FastAllocator(.{}),
};

pub fn main() void {
// ...
}
👍2
Thanks to a colossal amount of work by Jacob Young, the x86_64 backend of Zig is now passing 101% of the behavior tests compared to the LLVM backend.

Or perhaps put another way, the LLVM backend is passing 99% of the behavior tests compared to the x86_64 backend 😉

Still a few more issues to tackle before it can be made the default, however.


https://mastodon.social/@andrewrk/113971366018364079

#блоги #upstream
👍93
Язык Zig (канал)
Borrow checker для Zig (очень простой и для фана) Analyzing AIR turned out to be a good decision, and from this project I conclude that Zig AIR is a very good target for many classes of static analysis on Zig code. This CLR analyzer has been instrumented…
ещё один "для фана", с поддержкой async в Zig играется:

https://github.com/devknoll/zig/pull/1

Его версия отличается от последней версии async, она больше похожа на старый async где LLVM coroutines использовались

Modernize the old async experiment.

Lowering is done using LLVM's Switched-Resume lowering, which allows Zig to fully manage memory, and avoid dynamic allocations. Similar to the old experiment, it is based on a runtime alloca, allowing calls and callees to be lowered independently.
Forwarded from Zig reporter
Ziglang News 📰:
Good News! 0.14.0 Delayed
read
🔥6
Zig reporter
Ziglang News 📰: Good News! 0.14.0 Delayed read
Опять отложили (до 3 марта), зато мб x86_64 backend допилить успеют до момента, когда его можно в Debug сборках по умолчанию использовать (в Github как раз PR лежит, где почти все фичи добили, и остались ток фиксы мискомпиляций как я понял)

#upstream #блоги
9
Ещё одна библиотека для async I/O:

https://github.com/mookums/tardy

Автор использует его в своём zzz фреймворке (для HTTP сервера), он планирует ещё сделать HTTP клиент и пилит PostgreSQL клиент, так что будет своя экосистема что-то типа аналогов aiohttp + asyncpg из Python

#библиотеки
🔥5👍1🤯1
Спойлер с Zulip:

I just took a shower and I have an idea for how to get async await, and have them be actually good
🙏7🔥2🤔2🤯2🐳1
Релиз 0.14.0, но пока что архивы не сгенерировались
🔥10🎉2🐳1
Язык Zig (канал)
Релиз 0.14.0, но пока что архивы не сгенерировались
Только-только архивы собрались, теперь release notes ждать (но уже можете с сайта скачать, они в master разделе)
👍6🐳1