Язык Zig (канал)
174 subscribers
26 photos
3 videos
6 files
239 links
Download Telegram
Ещё я тут обвязал 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)));

#библиотеки
x86 backend (нативный без LLVM) 82% тестов проходит
👍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. 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
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.
Язык Zig (канал)
x86 backend (нативный без LLVM) 82% тестов проходит
x86 backend (нативный без LLVM) проходит 90% behaviour-тестов 🔨🔨🔨
🔥8🎉53
https://www.twitch.tv/vexu0
великий чинитель стримит
> новый translate-c на базе Arocc для Zig
🔥211
С прискорбием вынужден сообщить, что Alexandros Naskos (aka https://github.com/alexnask), участник основной команды Zig, почил.
https://discord.com/channels/605571803288698900/1022628803329142816/1116566712536535100
🫡16🕊1😭1
core_convert_should_be.pdf
86.1 KB
Небольшая схема, как приводятся различные типы указателей/срезов/массивов друг к другу, на момент master-ветки. WIP. Автор Nik
👍3
Выпуск 0.11.0 опять перенесён, теперь на 17 июля[
https://tigerbeetle.com/blog/2023-07-11-we-put-a-distributed-database-in-the-browser/
We Put a Distributed Database In the Browser – And Made a Game of It!
Сам симулятор https://sim.tigerbeetle.com/ (нужна поддержка WebAssembly)

#блоги