zig.vim
mark-sweep
Our great sponsors
zig.vim | mark-sweep | |
---|---|---|
6 | 11 | |
398 | 702 | |
2.5% | - | |
5.0 | 10.0 | |
4 months ago | almost 4 years ago | |
Vim Script | C | |
MIT License | GNU General Public License v3.0 or later |
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.
zig.vim
-
How to configure vim like an IDE
I'm not a fan of debuggers and whatnot, so I don't have anything for that, but I use zig.vim for Zig/C/C++/Obj. C/anything else integration like highlighting. Additionally, vim-scripts/a.vim can be used for alternating between implementation/header files. I don't use it myself but vim-snippets can be used for common snippets.
-
Porting a simple Mark-Sweep Garbage Collector to Zig
Out of the box Vim works well enough as an editor for Zig but the experience is a bit underwhelming. So I installed the Vim configuration for Zig plugin get syntax highlighting.
-
Failing to Learn Zig via Advent of Code
About the fast zig check, looking around the the zig.vim plugin code, I think it would be zig fmt --ast-check.
-
Is there a zig plugin for neovim?
There is zig-vim, language server and support in nvim-treesitter
-
Set compiler from lua
Currently there is no lua api for this command, so if you want a lua solution you would need to reimplement the functionality or reimplement the stuff inside this folder https://github.com/ziglang/zig.vim/tree/master/compiler
-
Ziglang : first contact with memory safety and simplicity
install zig for vim : https://github.com/ziglang/zig.vim
mark-sweep
-
Let's Write a Malloc
Never forget:
https://journal.stuffwithstuff.com/2013/12/08/babys-first-ga...
> Let me stress here that while this collector is simple, it isn’t a toy.
> There are a ton of optimizations you can build on top of this—in GCs and programming languages, optimization is 90% of the effort—but the core code here is a legitimate real GC.
> It’s very similar to the collectors that were in Ruby and Lua until recently.
> You can ship production code that uses something exactly like this.
> Now go build something awesome!
-
loxcraft: a compiler, language server, and online playground for the Lox programming language
Bob Nystrom also has a blog, and his articles are really well written (see his post on Pratt parsers / garbage collectors). I'd also recommend going through the source code for Wren, it shares a lot of code with Lox. Despite the deceptive simplicity of the implementation, it (like Lox) is incredibly fast - it's a great way to learn how to build production grade compilers in general.
-
The Garbage Collection Handbook, 2nd Edition
Bob Nystrom (of Game Programming Patterns, Crafting Interpreters, and dartfmt fame) also wrote a tutorial[1], of a precise as opposed to a conservative garbage collector.
Regarding register scanning, Andreas Kling has made (or at least quoted) an amusing observation[2] that your C runtime already has a primitive to dump all callee-save registers onto the stack: setjmp(). So all you have to do to scan registers is to put a jmp_buf onto the stack, setjmp() to it, then scan the stack normally starting from its address.
[1] https://journal.stuffwithstuff.com/2013/12/08/babys-first-ga...
[2] https://youtu.be/IzB6iTeo8kk
-
Ask HN: Do you recall any book or course that made a topic finally click?
- http://journal.stuffwithstuff.com/2013/12/08/babys-first-gar...
-
Garbage Collection with LLVM
Might not be that hard: https://journal.stuffwithstuff.com/2013/12/08/babys-first-garbage-collector/
- Baby’s First Garbage Collector (2013)
-
Reference Count, Don't Garbage Collect
To better understand garbage collection, nothing better than implementation. This article is such a joy to read:
https://journal.stuffwithstuff.com/2013/12/08/babys-first-ga...
What are some alternatives?
zls - A Zig language server supporting Zig developers with features like autocomplete and goto definition
c-examples - Example C code
vim-plug - :hibiscus: Minimalist Vim Plugin Manager
mmtk-core - Memory Management ToolKit
neovim - Vim-fork focused on extensibility and usability
git-from-the-bottom-up - An introduction to the architecture and design of the Git content manager
nvim-lsp-installer - Further development has moved to https://github.com/williamboman/mason.nvim!
ixy-languages - A high-speed network driver written in C, Rust, C++, Go, C#, Java, OCaml, Haskell, Swift, Javascript, and Python
SpaceVim - A community-driven modular vim/neovim distribution - The ultimate vimrc
rust-gc - Simple tracing (mark and sweep) garbage collector for Rust
helloZig - A zig sandbox
Mesh - A memory allocator that automatically reduces the memory footprint of C/C++ applications.