For those who haven't followed the discusison in #berlin, March 1st we're going to have a one-off event hosted by Delivery Hero.
We're going to have 3 short talks by Adam (the organizer), Joachim (everyone's favorite german-singaporean, also core team member), and me. The talks are going to be accessible for newcomers so don't be afraid.
Delivery Hero is offering food, drinks and afterwards we're going out to a pub with those who want to spend a bit of extra time together.
https://www.meetup.com/zigberlin-meetup-group/events/290511497
We're going to have 3 short talks by Adam (the organizer), Joachim (everyone's favorite german-singaporean, also core team member), and me. The talks are going to be accessible for newcomers so don't be afraid.
Delivery Hero is offering food, drinks and afterwards we're going out to a pub with those who want to spend a bit of extra time together.
https://www.meetup.com/zigberlin-meetup-group/events/290511497
👍1
Zig tips: v0.11 std.build API / package manager changes
https://devlog.hexops.com/2023/zig-0-11-breaking-build-changes/
#блоги
https://devlog.hexops.com/2023/zig-0-11-breaking-build-changes/
#блоги
Hexops
Zig tips: v0.11 std.build API / package manager changes
With Zig v0.11 will come several changes to the std.build API. We've just updated Mach to the latest nightly Zig version, and wanted to provide some tips on how to update your own Zig code.
👍1
Язык Zig (канал)
https://kristoff.it/blog/zig-self-hosted-now-what/ #upstream #блоги
А вот и "new for loop syntax" из поста :)
https://github.com/ziglang/zig/pull/14671
zig fmt пофиксит старый код 😋
#upstream
P.S. тут ответ на более ранний пост в канале, но в чате походу не видно
upd: Смержили 🎉🎉🎉⚡⚡⚡
https://github.com/ziglang/zig/pull/14671
zig fmt пофиксит старый код 😋
#upstream
P.S. тут ответ на более ранний пост в канале, но в чате походу не видно
upd: Смержили 🎉🎉🎉⚡⚡⚡
GitHub
implement multi-object for loops by andrewrk · Pull Request #14671 · ziglang/zig
This exposed a latent bug in the (experimental) x86 backend but I'm not letting it block the merge of this PR, since all the other backends are fine.
Closes #7257.
merge checklist:
implement ...
Closes #7257.
merge checklist:
implement ...
🎉4🤔1
Кстати, совсем забыл: я тут вместе с Gso321 (он начал, я закончил) запилили на Gentoo Wiki статью про Zig:
https://wiki.gentoo.org/wiki/Zig
https://wiki.gentoo.org/wiki/Zig/ru
Там (само собой) в основном генто-специфичная информация, но какая-то информация может быть полезна всем пользователям :)
https://wiki.gentoo.org/wiki/Zig
https://wiki.gentoo.org/wiki/Zig/ru
Там (само собой) в основном генто-специфичная информация, но какая-то информация может быть полезна всем пользователям :)
🔥4❤1👏1
Ещё я тут обвязал libgccjit в Zig, вроде выглядит идиоматично :)
https://git.sr.ht/~bratishkaerik/zig-libgccjit
Там осталось несколько мелочей, но библиотека уже сейчас юзабельна, в папке "examples/" есть 4 из 5 портированных примера с C на Zig, из официального сайта libgccjit (сам примеры выглядят не так идиоматично, потому чтоя пытался воссоздать примеры строка-в-строку)
для сравнения:
https://git.sr.ht/~bratishkaerik/zig-libgccjit/tree/a287291ba38cdf99ebac08b5fef745b547ef177f/item/examples/gcc_tutorial_5.zig#L24
const char_ptr_ptr_type: *GccJit.Type = ctxt.getType(.char).getPointer().getPointer();
https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/jit/docs/examples/tut05-bf.c;h=f948ede796a48dbae6e903c3b4b99cf2d5d4a103;hb=HEAD#l23
gcc_jit_type *char_ptr_ptr_type =
gcc_jit_type_get_pointer (
gcc_jit_type_get_pointer (
gcc_jit_context_get_type (ctxt, GCC_JIT_TYPE_CHAR)));
#библиотеки
https://git.sr.ht/~bratishkaerik/zig-libgccjit
Там осталось несколько мелочей, но библиотека уже сейчас юзабельна, в папке "examples/" есть 4 из 5 портированных примера с C на Zig, из официального сайта libgccjit (сам примеры выглядят не так идиоматично, потому чтоя пытался воссоздать примеры строка-в-строку)
для сравнения:
https://git.sr.ht/~bratishkaerik/zig-libgccjit/tree/a287291ba38cdf99ebac08b5fef745b547ef177f/item/examples/gcc_tutorial_5.zig#L24
const char_ptr_ptr_type: *GccJit.Type = ctxt.getType(.char).getPointer().getPointer();
https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/jit/docs/examples/tut05-bf.c;h=f948ede796a48dbae6e903c3b4b99cf2d5d4a103;hb=HEAD#l23
gcc_jit_type *char_ptr_ptr_type =
gcc_jit_type_get_pointer (
gcc_jit_type_get_pointer (
gcc_jit_context_get_type (ctxt, GCC_JIT_TYPE_CHAR)));
#библиотеки
Data Oriented Parallel Value Interner
https://matklad.github.io/2023/04/23/data-oriented-parallel-value-interner.html
#блоги
https://matklad.github.io/2023/04/23/data-oriented-parallel-value-interner.html
#блоги
matklad.github.io
Data Oriented Parallel Value Interner
In this post, I will present a theoretical design for an interner.
It should be fast, but there will be no benchmarks as I haven't implemented the thing.
So it might actually be completely broken or super slow for one reason or another.
Still, I think there…
It should be fast, but there will be no benchmarks as I haven't implemented the thing.
So it might actually be completely broken or super slow for one reason or another.
Still, I think there…
👍3
https://github.com/ziglang/zig/pull/15569
пока сравнения производительности с старой системой нет:
> Once the behavior tests are passing, I can provide at least some measurement of memory usage and perf delta against master branch.
Motivation в описании:
> ...
> Serialization and deserialization of the InternPool as part of incremental compilation
и оригинальном коммите:
https://github.com/ziglang/zig/commit/cf88cf2657d721c68055a284e8c498a18639f74c
> As a result, we have an extremely efficient encoding of types and values, represented only by three arrays, which has no pointers, and can therefore be serialized and deserialized by a single writev/readv call.
> This is in contrast to our current Type/Value system which makes extensive use of pointers.
#upstream
пока сравнения производительности с старой системой нет:
> Once the behavior tests are passing, I can provide at least some measurement of memory usage and perf delta against master branch.
Motivation в описании:
> ...
> Serialization and deserialization of the InternPool as part of incremental compilation
и оригинальном коммите:
https://github.com/ziglang/zig/commit/cf88cf2657d721c68055a284e8c498a18639f74c
> As a result, we have an extremely efficient encoding of types and values, represented only by three arrays, which has no pointers, and can therefore be serialized and deserialized by a single writev/readv call.
The map field is denormalized data and can be computed from the other two fields.> This is in contrast to our current Type/Value system which makes extensive use of pointers.
#upstream
GitHub
Use InternPool for all types and constant values by andrewrk · Pull Request #15569 · ziglang/zig
This changeset is centered around the InternPool data structure. Unfortunately, it required reworking a lot of compiler code.
The goal of this branch is to get to a mergeable state as soon as possi...
The goal of this branch is to get to a mergeable state as soon as possi...
⚡4👍1
https://github.com/extism/extism
Система универсальных плагинов. Запускайте WebAssembly расширения в вашей программы. Используются идиоматические Host SDK'ы для Go, Ruby, Python, Node, Rust, C, C++, OCaml, Haskell, PHP, Elixir/Erlang, .NET, Java, Zig и других (остальные coming soon).
Наборы разработки плагинов (PDK) для создателей плагинов поддерживают Rust, AssemblyScript, Go, C/C++, Haskell и Zig.
Система универсальных плагинов. Запускайте WebAssembly расширения в вашей программы. Используются идиоматические Host SDK'ы для Go, Ruby, Python, Node, Rust, C, C++, OCaml, Haskell, PHP, Elixir/Erlang, .NET, Java, Zig и других (остальные coming soon).
Наборы разработки плагинов (PDK) для создателей плагинов поддерживают Rust, AssemblyScript, Go, C/C++, Haskell и Zig.
GitHub
GitHub - extism/extism: The framework for building with WebAssembly (wasm). Easily & securely load wasm modules, move data, call…
The framework for building with WebAssembly (wasm). Easily & securely load wasm modules, move data, call functions, and build extensible apps. - extism/extism
https://www.twitch.tv/andrewrok
стрим с продолжением internpool
стрим с продолжением internpool
Twitch
andrewrok - Twitch
Lead developer & president of Zig Software Foundation.
👍1
Язык Zig (канал)
x86 backend (нативный без LLVM) 82% тестов проходит ⚡⚡⚡
x86 backend (нативный без LLVM) проходит 90% behaviour-тестов 🔨🔨🔨
🔥8🎉5⚡3
С прискорбием вынужден сообщить, что Alexandros Naskos (aka https://github.com/alexnask), участник основной команды Zig, почил.
https://discord.com/channels/605571803288698900/1022628803329142816/1116566712536535100
https://discord.com/channels/605571803288698900/1022628803329142816/1116566712536535100
GitHub
alexnask - Overview
alexnask has 88 repositories available. Follow their code on GitHub.
🫡16🕊1😭1
Язык Zig (канал)
https://github.com/ziglang/zig/pull/15569 пока сравнения производительности с старой системой нет: > Once the behavior tests are passing, I can provide at least some measurement of memory usage and perf delta against master branch. Motivation в описании:…
мержнули, 205 коммитов, 30к строчек, 40 дней :)
👍2
Язык Zig (канал)
Zig tips: v0.11 std.build API / package manager changes https://devlog.hexops.com/2023/zig-0-11-breaking-build-changes/ #блоги
Mach: providing an ecosystem of C libraries using the Zig package manager
https://devlog.hexops.com/2023/mach-ecosystem-c-libraries/
#блоги
https://devlog.hexops.com/2023/mach-ecosystem-c-libraries/
#блоги
Hexops
Mach: providing an ecosystem of C libraries using the Zig package manager
For Mach engine, we're maintaining an ecosystem of C libraries packaged up with the new experimental Zig package manager. Whether you use Zig the language, or just its build system to build C/C++ applications, you may find this overview of our ecosystem informative.
🔥4😱2