[RU] Язык Zig (канал)
202 subscribers
74 photos
4 videos
10 files
327 links
Unofficial channel about Zig language (in Russian language)

Неофициальный канал про язык Zig (на русском языке)

Chat / Чат:
@ziglang_ru
Download Telegram
ZON парсер для Python (если кому надо)

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

Чтобы парсить build.zig.zon в питоне вполне хватает, но не только для них.
👍1🤔1
sizes.zig
513 B
Просто чтоб не забыть (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);
^~~~~~~~~~~~~~~~~~~~~
🫡3🤯2
[RU] Язык Zig (канал)
sizes.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
🤯31🤔1
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
@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 #блоги
Denis D
https://youtu.be/dLPAqXi9In0
Odin таки смог и дошел, впрочем и до этого у них была намного лучше история с стабильностью и обновлениями, чем у Zig…

Когда он выйдет, мы еще на 0.17 будем наверно
🤝9
[RU] Язык Zig (канал)
Rewrite Bun in Rust the binary size shrinks by 3 MB - 8 MB, the benchmarks are between neutral and faster
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.


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

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

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

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

https://github.com/IFJ-zig/Zig-compiler
https://github.com/MarekPazur/IFJ-2024
2🔥1
Прогресс по 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
👍19🤡1
Ochi — база даных для хранения структурных логов.

Хранит данные на диске, не требуется S3.
Не использует mmap для управления файлоами.
Не пишет WAL, данные идут прямиком в SSTable.
Реализуется LSM на основе time aware компакции.

https://github.com/ochi-team/ochi

#проекты
👍13