Khadem is a web server library I implemented in both Rust and Zig to compare them in terms of complexity of the code base for the same project.
In Rust implementation we use tokio
for Async IO and networking and based on that we create a simple HTTP/1.1 parser and a simple trait HttPHandler
to be impelmented by users or 3rd party libs to handle incoming traffic. We also have build upon HttpHandler
trait a radix based router to match uri against pre defined routes to call appropriate handler.
In Zig implementation we used zig's own std lib StreamServer
for TCP server and we did create a simple HTTP/1.1 parser and radix tree data structure to do the routing in and also a contract for middlewares.
My world in code
Loki, experimental language that compiles to C.
Simple, Customizable start screen for Neovim
Simple statusline for neovim, all in lua, all the time :)
define same behaviour across different file types.
Made luv.spawn easy :))
Fuzzy matching for Neovim
Another lisp that compiles to lua