Язык Zig (канал)
Экспериментальная поддержка Zig в re2c (генераторе лексера, юзается в ninja, php, т.д.), это вдобавок к C/C++/Rust. https://github.com/skvadrik/re2c/commit/5cd48a8ffb1bfc82b17bd7f381437efd1678b188 https://github.com/skvadrik/re2c/issues/451#issuecomment-2229461380
всё, в релизе:
https://re2c.org/manual/manual_zig.html
https://re2c.org/releases/release_notes.html#release-4-0
Можно онлайн затестить тут https://re2c.org/playground/
https://re2c.org/manual/manual_zig.html
https://re2c.org/releases/release_notes.html#release-4-0
Можно онлайн затестить тут https://re2c.org/playground/
👍8🔥1👀1
Forwarded from opennet.ru
Первый стабильный выпуск эмулятора терминала Ghostty https://opennet.ru/62471/
www.opennet.ru
Первый выпуск эмулятора терминала Ghostty
Опубликован выпуск эмулятора терминала Ghostty 1.0.0, использующего GPU для ускорения отрисовки содержимого. Проект развивает Митчелл Хашимото (Mitchell Hashimoto), сооснователь компании HashiCorp и создатель таких проектов, как Vagrant и Terraform. Автор…
🔥14👀1
С новым годом всех! Надеюсь, в следующем году Zig станет ещё популярнее и у нас будет больше крутых програм по типу Ghossty, ну и язык чутка стабилизируется)
🎄25🍾6🔥1🙏1
What to Expect from Release Month
Если вкратце:
* Релиз 0.14 ровно через месяц, 17 февраля
* За это время больше сфокусируются на накопившихся пулл реквестах и issues
* x86 backend пока не готов к использованию по умолчанию для Debug сборок, но может за месяц успеют допилить
* Пользователям, которые сидят на 0.13 рекомендуется потихоньку обновлять свой код до новой версии
#блоги #upstream
Если вкратце:
* Релиз 0.14 ровно через месяц, 17 февраля
* За это время больше сфокусируются на накопившихся пулл реквестах и issues
* x86 backend пока не готов к использованию по умолчанию для Debug сборок, но может за месяц успеют допилить
* Пользователям, которые сидят на 0.13 рекомендуется потихоньку обновлять свой код до новой версии
#блоги #upstream
👍20
Forwarded from Parra
is anybody interested in Google Summer or Code (with zig)?
Forwarded from Parra
Parra
is anybody interested in Google Summer or Code (with zig)?
GitHub
GitHub - metacall/gsoc-2025: List of project ideas for contributors applying to the Google Summer of Code program in 2025 (GSoC…
List of project ideas for contributors applying to the Google Summer of Code program in 2025 (GSoC 2025). - GitHub - metacall/gsoc-2025: List of project ideas for contributors applying to the Goog...
Parra
https://github.com/metacall/gsoc-2025?tab=readme-ov-file#zig-port-implementation
кто хочет может залутать летом немного денег и опыта, по-моему из ограничений там только быть студентом
UPD: и второе ещё, сорри не знал:
Разрешено ли участие в GSoC 2025 участникам из Украины, России или Беларуси?
Ну думаю людей хотя б из остального СНГ и Украины в этом канале и чате наберётся
UPD: и второе ещё, сорри не знал:
Разрешено ли участие в GSoC 2025 участникам из Украины, России или Беларуси?
В связи с текущими обстоятельствами GSoC 2025 не принимает участников (соавторов, наставников или администраторов организаций) из России, Беларуси или так называемых Донецкой Народной Республики («ДНР») и Луганской Народной Республики («ЛНР»). Никаких ограничений для участников, находящихся на территории Украины, но за пределами ДНР и ЛНР, нет.
Ну думаю людей хотя б из остального СНГ и Украины в этом канале и чате наберётся
уууу походу если std.zon.parse используешь нельзя методы для какого-то типа отдельно перезаписать, как например сам parse
🤔3
Borrow checker для Zig (очень простой и для фана)
https://github.com/ityonemo/clr
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 примут, но походу нет и вместо этого сделают что-то типа:
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();
}
GitHub
runtime page size detection + rework GeneralPurposeAllocator to reduce active mapping count + Allocator VTable API update by archbirdplus…
release notes
This PR implements runtime page sizes. Closes #4082. Closes #11308. Closes #16331. Closes #20038. Closes #20714.
Notable changes:
Remove mem.page_size.
Add heap.min_page_size, hea...
This PR implements runtime page sizes. Closes #4082. Closes #11308. Closes #16331. Closes #20038. Closes #20714.
Notable changes:
Remove mem.page_size.
Add heap.min_page_size, hea...
👀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
Язык Zig (канал)
хотяяя... впринципе норм, просто настройки будут у них разные полюбому, но это можно и самому конфигурировать const MyRootAllocator = switch (builtin.mode) { .Debug => DebugAllocator(.{ .stack_trace_frames = 10 }), .ReleaseSafe, .ReleaseFast => FastAllocator(.{…
ага:
https://github.com/ziglang/zig/commit/05d05083cdaee6afe7e0e2772804e7eeb75afea1
* Добавили новый SmpAllocator для ReleaseFast
* Убрали коммент из WasmAllocator, гле было написано что планируют встроить его в GeneralPurposeAllocator, отмена планов
https://github.com/ziglang/zig/commit/05d05083cdaee6afe7e0e2772804e7eeb75afea1
* Добавили новый SmpAllocator для ReleaseFast
* Убрали коммент из WasmAllocator, гле было написано что планируют встроить его в GeneralPurposeAllocator, отмена планов
GitHub
add std.heap.SmpAllocator · ziglang/zig@05d0508
An allocator intended to be used in -OReleaseFast mode when
multi-threading is enabled.
multi-threading is enabled.
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
Mastodon
Andrew Kelley (@andrewrk@mastodon.social)
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…
Or perhaps put another way, the LLVM backend is passing 99% of the behavior tests compared to the x86_64…
👍9❤3
Язык 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 использовались
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.
GitHub
Bring back async by devknoll · Pull Request #1 · devknoll/zig
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 experi...
Lowering is done using LLVM's Switched-Resume lowering, which allows Zig to fully manage memory, and avoid dynamic allocations. Similar to the old experi...
Forwarded from Zig reporter
🔥6
Zig reporter
Ziglang News 📰: Good News! 0.14.0 Delayed read
Опять отложили (до 3 марта), зато мб x86_64 backend допилить успеют до момента, когда его можно в Debug сборках по умолчанию использовать (в Github как раз PR лежит, где почти все фичи добили, и остались ток фиксы мискомпиляций как я понял)
#upstream #блоги
#upstream #блоги
❤9
Мини-пример как создать Python расширение на Zig:
https://github.com/BratishkaErik/python-zig-extension-example
https://github.com/BratishkaErik/python-zig-extension-example
GitHub
GitHub - BratishkaErik/python-zig-extension-example: Example on how to build and test Python extension written in Zig
Example on how to build and test Python extension written in Zig - BratishkaErik/python-zig-extension-example
👍3
Ещё одна библиотека для async I/O:
https://github.com/mookums/tardy
Автор использует его в своём zzz фреймворке (для HTTP сервера), он планирует ещё сделать HTTP клиент и пилит PostgreSQL клиент, так что будет своя экосистема что-то типа аналогов aiohttp + asyncpg из Python
#библиотеки
https://github.com/mookums/tardy
Автор использует его в своём zzz фреймворке (для HTTP сервера), он планирует ещё сделать HTTP клиент и пилит PostgreSQL клиент, так что будет своя экосистема что-то типа аналогов aiohttp + asyncpg из Python
#библиотеки
GitHub
GitHub - tardy-org/tardy: An asynchronous runtime for writing applications and services. Supports io_uring, epoll, kqueue, and…
An asynchronous runtime for writing applications and services. Supports io_uring, epoll, kqueue, and poll for I/O. - GitHub - tardy-org/tardy: An asynchronous runtime for writing applications and ...
🔥5👍1🤯1