alg
zvm
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
alg
-
Learning Zig
> comptime doesn't allow you to create domain specific macros
Sure it does!
Zig's string format function is written using comptime. It parses the format string and validates the arguments at compile time. See https://github.com/ziglang/zig/blob/master/lib/std/fmt.zig
I also toyed around with turning a math equation dsl into compiled statements at https://github.com/Laremere/alg I got matrix math working so, eg, if you multiply a 1by2 matrix by a 2by1 matrix, it returns a matrix which is typed to 2x2.
-
Problems of C, and how Zig addresses them
Last year I dabbled in making a DSL like solution for operator overloading: https://github.com/Laremere/alg
It ends up slightly more verbose in usage, but the statements themselves remain concise. Unfortunately I got a real job that isn't using Zig, so I've stopped working on this. Others can feel free to take up the torch, though.
-
A work-around for no operator overloading
I did this at the beginning of the year: https://github.com/Laremere/alg
-
Limited Operator Overloading
I have a new project which implements a kind of operator overloading:
zvm
-
Buzz: A lightweight statically typed scripting language
ZVM (https://github.com/tristanisham/zvm) is a good alternative to keep uptodate with Zig nightly versions and also quickly switch to a stable version when needed.
-
Learning Zig
I tried out zvm (Zig Version Manger) on my Mac laptop earlier today, seems to work even if it’s not super polished:
https://github.com/tristanisham/zvm
-
Goodbye to the C++ Implementation of Zig
If you’re interested in trying Zig out and want an easy way to update/use multiple versions I’ve been working on a Zig Version Manager for the past few weeks.
It works on Windows, Mac, Linux, a smattering of BSD’s and Plan 9. Arm and x86.
https://github.com/tristanisham/zvm
What are some alternatives?
zig-gamedev - Main monorepo for @zig-gamedev libs and example applications
nix-zig-stdenv - cross-compile nixpkgs with zig
zig-infix-parser - Parse comptime infix strings
cargo-bisect-rustc - Bisects rustc, either nightlies or CI artifacts
bun - Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one
camlboot - Experiment on how to bootstrap the OCaml compiler
ziglings - Learn the Zig programming language by fixing tiny broken programs.
Scoop - A command-line installer for Windows.
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
Rustlings - :crab: Small exercises to get you used to reading and writing Rust code!
tigerbeetle - The distributed financial transactions database designed for mission critical safety and performance.
Git - Git Source Code Mirror - This is a publish-only repository but pull requests can be turned into patches to the mailing list via GitGitGadget (https://gitgitgadget.github.io/). Please follow Documentation/SubmittingPatches procedure for any of your improvements.