ziglang | Unsorted

Telegram-канал ziglang - Язык Zig (канал)

156

Чат @ziglang_ru

Subscribe to a channel

Язык Zig (канал)

Прогресс по 0.17.0:
16 Открыто
146 Закрыто
90%

Остались в основном баги и регрессии. Плюс две фичи и один пулл-реквест:

build server protocol (самое важное, и вроде как приоритет для Эндрю. Полезно для ZLS, ZigBrains и т.д.)
introduce the concept of adding path dependencies of the build script itself
Resolve relative install directories against install prefix

#upstream

Читать полностью…

Язык Zig (канал)

В "Brno University of Technology, Faculty of Information Technology" уже вторая по счету команда на дисциплине по компиляторам пишет "компилятор Zig на Си"

https://github.com/IFJ-zig/Zig-compiler
https://github.com/MarekPazur/IFJ-2024

Читать полностью…

Язык Zig (канал)

Odin таки смог и дошел, впрочем и до этого у них была намного лучше история с стабильностью и обновлениями, чем у Zig…

Когда он выйдет, мы еще на 0.17 будем наверно

Читать полностью…

Язык Zig (канал)

Returning to Zig

Автор статьи ушел из Zig в Rust в 2020 году, теперь вернулся обратно.

#блоги

Читать полностью…

Язык Zig (канал)

Pledging Another $400,000 to the Zig Software Foundation

Больше денег, можно в том числе и для core team новые контракты создать, их уже 15 человек!

https://ziglang.org/news/welcoming-new-team-members/

These folks are next in line for ZSF contracts once funds are available.


https://ziglang.org/zsf/#core-team (нумерацию я расставил):
1. Andrew Kelley (andrewrk)
2. Loris Cro (kristoff)
3. Isaac Freund (ifreund)
4. Veikka Tuominen (Vexu)
5. Michael Dusan (mikdusan)
6. Jacob Young (jacobly)
7. Matthew Lugg (mlugg)
8. Alex Rønne Petersen (alexrp)
9. Mason Remaley (MasonRemaley)
10. Ryan Liptak (squeek502)
11. Frank Denis (jedisct1)
12. Ali Cheraghi (alichraghi)
13. Justus Klausecker (justusk)
14. Casey Banner (kcbanner)
15. Pavel Verigo (pavelverigo)


#блоги #upstream

Читать полностью…

Язык Zig (канал)

Если вдруг кто думал, что Zig «крадёт» последний или первый бит и что @sizeOf(?u63) == @sizeOf(u64), это не так:

x86-windows-gnu:

========================
Type: u63
@sizeOf: 8
@bitSizeOf: 63
@alignOf: 8
========================
Type: u64
@sizeOf: 8
@bitSizeOf: 64
@alignOf: 8
========================
Type: ?u63
@sizeOf: 16
@bitSizeOf: 128
@alignOf: 8
========================
Type: ?u64
@sizeOf: 16
@bitSizeOf: 128
@alignOf: 8


x86-linux-gnu:
========================
Type: u63
@sizeOf: 8
@bitSizeOf: 63
@alignOf: 4
========================
Type: u64
@sizeOf: 8
@bitSizeOf: 64
@alignOf: 4
========================
Type: ?u63
@sizeOf: 12
@bitSizeOf: 96
@alignOf: 4
========================
Type: ?u64
@sizeOf: 12
@bitSizeOf: 96
@alignOf: 4

Читать полностью…

Язык Zig (канал)

ZON парсер для Python (если кому надо)

https://pypi.org/project/natizon/
https://github.com/BratishkaErik/natizon

Чтобы парсить build.zig.zon в питоне вполне хватает, но не только для них.

Читать полностью…

Язык Zig (канал)

Сгенерированные EPUB для language reference

https://codeberg.org/ziglang/ziglang.org/issues/623

https://codeberg.org/simenandre/ziglang-docs-epub

Читать полностью…

Язык Zig (канал)

Пример модуля на Zig для ядра Linux:

https://codeberg.org/usebeforefree/zig-kernel-module
https://ziggit.dev/t/linux-kernel-module-example-in-zig/15923
/channel/ziglang_en/162535

Читать полностью…

Язык Zig (канал)

Хорошие новости. Команда zls (techatrix) и zig core team пообщались как сделать так чтобы zls мог работать и дальше. https://codeberg.org/ziglang/zig/issues/35538

Читать полностью…

Язык Zig (канал)

https://github.com/foxnne/fizzy/
https://fizzyed.it/

Pixi переименовали в Fizzy:
https://github.com/foxnne/fizzy/pull/162

Читать полностью…

Язык Zig (канал)

Анализ от Gemini на Python
(потом более нормальные сделаю)

Читать полностью…

Язык Zig (канал)

@**Chris Boesch** Я просто хочу заверить вас и всех остальных, кто пытается внести свой вклад в проект, что вы всё делаете правильно. Что касается меня, причина, по которой вы, возможно, в последнее время не получали отзывов по ревью, заключается в следующем:
* я был сосредоточен на завершении своей ветки системы сборки для выпуска 0.17.0
* уходил в отпуск на 1 неделю
* решал личные вопросы в жизни
У других участников основной команды есть свои причины касательно того, сколько времени они уделяют очереди PR. Напоминаю, что никто, включая меня, не брал на себя обязательств по конкретному количеству времени. Всё это делается исключительно на основе добровольных усилий и доброй воли.
Тем не менее, с учётом вышесказанного, здесь назрела более масштабная дискуссия, которая также проходит на Ziggit.
После выпуска 0.17.0 я планирую сосредоточиться на улучшении пайплайна для контрибьюторов. Нам ещё многое предстоит обсудить, как публично, так и внутри команды, но в целом я хотел бы попытаться создать среду с более высоким уровнем доверия, где у большего числа людей будет больше возможностей помогать друг другу и самим себе, не упираясь в бутылочное горлышко из 4-5 активных участников основной команды. Кроме того, я бы хотел решить техническую проблему частых сбоев в работе Codeberg — либо путём самостоятельного хостинга, либо выбрав другую технологию, устойчивую к простоям.
В заключение: если контрибьюторы сейчас чувствуют разочарование из-за очереди на ревью, стабильности и производительности платформы для разработки и тому подобных вещей, вы не одиноки. Давайте придумаем способ повысить доверие и автономность контрибьюторов без ущерба для целостности проекта — как с точки зрения качества программного обеспечения, так и с точки зрения сообщества людей, стремящихся оттачивать свои навыки и улучшать резюме.
Мне бы хотелось просто кодить в свое удовольствие, но иногда приходится отвлекаться на оптимизацию процессов.

Читать полностью…

Язык Zig (канал)

https://kotlinlang.org/docs/whatsnew-eap.html#improved-compile-time-constants

Ещё больше comptime в Kotlin

https://github.com/Kotlin/KEEP/blob/main/proposals/KEEP-0444-improve-compile-time-constants.md

Читать полностью…

Язык Zig (канал)

https://lalinsky.com/2026/05/11/async-io-in-zig-016-today.html
https://github.com/lalinsky/zio

Рантайм для std.Io как рабочая альтернатива std.Io.Evented

#библиотеки #блоги

Читать полностью…

Язык Zig (канал)

Даже три:
https://github.com/matusmihaljevic/butfit-ifj

Походу им преподаватель задание такое дает

Читать полностью…

Язык Zig (канал)

Rewriting Bun in Rust

Кусок про stack size:

Rust's LLVM IR codegen emits LLVM's llvm.lifetime.start and llvm.lifetime.end intrinsics for stack variables when they are no longer in use, which lets LLVM reuse stack space slots. This lets large functions with nested scopes use significantly less stack space.

Previously, we manually worked around an open issue by refactoring particularly large functions into many smaller functions.


Ну и прочие полезные детали.

Пост с мыслями от Эндрю

Я честно скажу, для меня очень странный пост, не зашло. Тут в основном не-техническое обсуждение

#блоги

Читать полностью…

Язык Zig (канал)

https://youtu.be/dLPAqXi9In0

Читать полностью…

Язык Zig (канал)

@bitCast переделали и работу чисел с "нетипичными" размерами (u3, u17, u63 etc.):

Devlog и запрос на слияние от mlugg:
* https://ziglang.org/devlog/2026/#2026-06-25
* https://codeberg.org/ziglang/zig/pulls/35711

Основной proposal (от jacobly):
* https://github.com/ziglang/zig/issues/19755

Чет я писал и писал, но получилось запутанно, так что на потом оставил.

#upstream #блоги

Читать полностью…

Язык Zig (канал)

Интерфейсы в Zig

#библиотеки

Читать полностью…

Язык Zig (канал)

Просто чтоб не забыть (x86_64-windows-gnu)

sizes.zig:25:5: error:
========================
Type: u63
@sizeOf: 8
@bitSizeOf: 63
@alignOf: 8
========================
Type: u64
@sizeOf: 8
@bitSizeOf: 64
@alignOf: 8
========================
Type: ?u63
@sizeOf: 16
@bitSizeOf: 128
@alignOf: 8
========================
Type: ?u64
@sizeOf: 16
@bitSizeOf: 128
@alignOf: 8

@compileError(buffer);
^~~~~~~~~~~~~~~~~~~~~

Читать полностью…

Язык Zig (канал)

Ownership checker для Zig, через комментарии или comptime

https://github.com/sophatvathana/zigsafe

https://www.reddit.com/r/Zig/comments/1txqvl7/built_an_optional_ownership_checker_for_zig/

Читать полностью…

Язык Zig (канал)

Библиотека для детерминированного тестирования IO на Zig:

https://sb2bg.github.io/marionette/
https://github.com/sb2bg/marionette

#библиотеки

Читать полностью…

Язык Zig (канал)

Тот ZigC заглох, зато Zig++ появился:

https://github.com/nktkt/zigpp
https://github.com/nktkt/zigpp-design-draft

Как ранний C++, который транслировался в Си, в этом случае Zig++ транслируется в Zig

Читать полностью…

Язык Zig (канал)

Большое интервью с Эндрю:

https://www.youtube.com/watch?v=iqddnwKF8HQ
/channel/ziglang_ru/66141

Читать полностью…

Язык Zig (канал)

хммм…

https://github.com/xit-vcs/haxy

Читать полностью…

Язык Zig (канал)

После обновления NCDU с 0.14-0.15 на 0.16 решил проверить размеры бинарника:

/channel/ziglang_en/161590

-Dtarget=x86_64-linux-gnu
-Dcpu= x86_64_v4

0.16.0:
Debug: 17846221 (18M)
Debug + Dstrip: 4702669 (4,7M)

ReleaseSafe: 4598512 (4,6M)
ReleaseSafe + Dstrip: 521416 (521k)

ReleaseFast: 4847384 (4,8M)
ReleaseFast + Dstrip: 459768 (460k)

ReleaseSmall: 2862632 (2,9M)
ReleaseSmall + Dstrip: 284488 (284k)

0.15.2:
Debug: 16956152 (17M)
Debug + Dstrip: 4247949 (4,2M)

ReleaseSafe: 3615416 (3,6M)
ReleaseSafe + Dstrip: 320016 (320k)

ReleaseFast: 2539824 (2,5M)
ReleaseFast + Dstrip: 326000 (326k)

ReleaseSmall: 1467968 (1,5M)
ReleaseSmall + Dstrip: 180648 (181k)

Читать полностью…

Язык Zig (канал)

https://zsf.zulipchat.com/#narrow/channel/454446-ecosystem/topic/improving.20the.20contributer.20to.20maintainer.20pipeline/near/595939945

@**Chris Boesch** I just want to reassure you along with everyone else who is trying to contribute that you're not doing anything wrong. On my end the reason you might not have gotten any review feedback lately is:
* focusing on finishing my own build system branch for the 0.17.0 tag
* going on vacation for 1 week
* dealing with personal matters in my life

The other core team members have their own reasons for how much time they spend on the PR queue. As a reminder, nobody including myself has committed to any particular amount of time. It's all best effort, goodwill type of situation.

With that in mind, however, there's a greater discussion to be had here, which is also taking place on ziggit.

After the 0.17.0 tag, I plan to focus on improving the contribution pipeline. We still have a lot to discuss, both publicly and internally, but in general I'd like to try to create a higher trust environment, where more people have more capability to unblock each other and themselves without bottlenecking on ~4.5 active core team members. Furthermore I'd like to solve the technical problem of the frequent codeberg downtime - either by self-hosting or by choosing a different technology that is resilient to outages.

In conclusion if contributors are feeling frustrated right now with the review queue, code forge stability and performance, and similar matters, you're not alone. Let's come up with a way to increase contributor trust and autonomy without compromising the integrity of the project, both from software quality perspective and as a community of people looking to hone their skills and resumes.

I would have preferred to just continue cooking, but sometimes you gotta sharpen your knives

Читать полностью…

Язык Zig (канал)

zig.exe fetch --save=blabla ../

на 0.15 все нормально было, на 0.16 в рекурсию уходит и диск сжирает за секунды буквально!

Кладите в другую папку или чистите .paths в build.zig.zon

У меня грубо говоря такой сетап был:
1. Пакет с build.zig и пустым paths в build.zig.zon (т.е. дефолт - всё включено)
2. Хотел импортировать его в примерах внутри папки examples/
3. С этой командой получается рекурсия zig-pkg/name.../examples/zig-pkg/name.../examples/zig-pkg/...

Я пофиксил, прописав конкретные paths.

Это на Windows 11 было, на других не тестил.

#предупреждение

Читать полностью…

Язык Zig (канал)

https://github.com/ziglang/zig/issues/23475#issuecomment-2795570519

https://github.com/ziglang/zig/issues/24183#issuecomment-2973855614

Читать полностью…
Subscribe to a channel