Zig Programming Language

145 readers
1 users here now

A lemm.ee community for Zig!

founded 1 year ago
MODERATORS
1
 
 

PEM/DER reader, written in Zig. Currently supports elliptic curve private and public keys.

2
 
 

From the README: A small Zig module, as a convenience for writing WebAssembly plugins for Typst

3
 
 

From the README:

HypergraphZ - A Hypergraph Implementation in Zig

GitHub Actions Workflow Status

HypergraphZ is a directed hypergraph implementation in Zig (https://en.wikipedia.org/wiki/Hypergraph):

  • Each hyperedge can contain zero, one (unary) or multiple vertices.
  • Each hyperedge can contain vertices directed to themselves one or more times.

Usage

Add hypergraphz as a dependency to your build.zig.zon:

zig fetch --save https://github.com/yamafaktory/hypergraphz/archive/<commit-hash>.tar.gz

Add hypergraphz as a dependency to your build.zig:

const hypergraphz = b.dependency("hypergraphz", .{
    .target = target,
    .optimize = optimize,
});
exe.root_module.addImport("hypergraphz", hypergraphz.module("hypergraphz"));

Documentation

The latest online documentation can be found here.

4
 
 

Zig•EM is a novel programming framework for resource-constrained embedded systems.

Read all about it in the linked blog post

5
 
 

Since zig has good cross platform compiler support, libraries that improve cross platform support are also interesting.

This one is also potentially cross language.

6
 
 

From the README:

Key Features

  • Simple and straightforward to use thanks to built-in reflections.
  • Just define a struct and accessing it's fields.
  • Supports recursive struct.
  • Deinitialization is handled for you, just call deinit() and you are done.
  • Fields are automatically parsed based on field type.
7
 
 

A couple of promising new ones have popped up:

https://zigistry.dev/

https://ziglist.org/

8
 
 

Z80 chip emulator with classical games such as Pac-Man bundled

9
 
 

The principles from the book Crafting Interpreters by Bob Nystrom, but in Zig

10
 
 

Convenience functions for easy integration with AFL++ for both Zig and C/C++ programmers!

11
 
 

A package manager for installing linux programs that are self contained

12
 
 

A package manager for installing linux programs that are self contained

13
 
 

From the README:

Provides a package to build/run GNU's make program.

The primary use case for this project is to facilitate "incremental ports" to the Zig build system. Start with a project by building it with Make then incrementally transfer parts of it to build.zig while maintaining a working build that can be tested throughout. It's not recommended for projects to use this package long term.

14
 
 

From the README:

y3 is a wrapper for yabai that attempts to emulate i3 behavior and adds additional logic to improve the experience. It may not match 1:1, please let me know if something is missing or incorrect.

15
 
 

From the README:

This is a wrapper for CSFML. Theres no problem importing CSFML in Zig, but the resulting code can be a little bit messy. My goal is to make things close enough to SFML, with nice methods.

16
 
 

zigverm (previously zigvm) is a version manager for Zig

Change log: https://github.com/AMythicDev/zigverm/blob/main/CHANGELOG.md#v030-2024-06-26

17
 
 

Zig library which implements tls 1.2 and tls 1.3 protocol.

18
 
 

Provides compatibility with Zig 0.13.0

19
 
 

Makes integrating Zig projects with GitHub Actions easy and uses mirrors to reduce load on servers

20
 
 

Contains plenty of changes and upgrades to LLVM 18.1.7

Go read the release notes

21
 
 

From the README:

Hexdump is designed to replace the standard Hexdump command. If you feel uncomfortable replacing it, simply rename the binary to something else.

Features

  • ASCII sidebar
  • Skipping bytes
  • Specified length
  • Multiple formats
  • Colored output
  • Output to file
22
 
 

Zigar is a software tool set that lets you utilize Zig code in your JavaScript project.

23
 
 

From the README:

JSON library for inspecting arbitrary values. Optionally accepts trailing commas.

Fully passes https://github.com/nst/JSONTestSuite.

24
 
 

From the blog:

Sometimes, programming projects are too easy and boring. Sometimes, they're too hard, never ending or producing subpar results.

This past week I had the pleasure of completing a project that felt like maximum difficulty - only possible because I am at the top of my game, using a programming language designed for making perfect software. This problem threw everything it had at me, but I rose to the challenge and emerged victorious.

What a rush.

In this blog post I'll dig into the technical implementation as well as provide the Zig Progress Protocol Specification.

25
 
 

From the README:

Auto-generated Zig bindings for the sokol headers.

For Zig version 0.12.0 and 0.13.0-dev

In case of breaking changes in Zig, the bindings might fall behind. Please don't hesitate to ping me via a Github issue, or even better, provide a PR :)

Support for stable Zig versions is in branches (e.g. zig-0.12.0), those versions are 'frozen in time' though.

view more: next ›