nowfound

Alternatives

Products that do what NextStd does

Type-Safe alternative to stdio.h for C

  1. 1LA

    Hi HN, (First time poster!) I'm the author of `lstr`. I've always loved the classic Linux `tree` command for its simplicity, but I often found myself wanting more modern features like interactivity and Git integration. So, I decided to build my own version in Rust with a philosophy of being fast, minimalist, and interactive. It was also an excuse to help learn more about Rust\! Here's a quick look at the interactive mode: https://raw.githubusercontent.com/bgreenwell/lstr/main/asset... I've just released v0.2.0 with some features I think this community might find…

    2025 · github.com

  2. 2AS
  3. 3AH

    Long-simmering side project that is finally ready to see the light. HAMTs are a cool persistent data structure and implementing one has been a lot of fun. Beyond the code, there is likely some value in the extensive and largely complete implementation docs; basic benchmarks are linked in the README, too. Kind of aiming to be "the libavl for HAMTs". That is obviously a high and aspirational bar but a distinct possibility if it stirs up a little interest and/or contribution. Anyways, it's time for this to go out, collect feedback and maybe even some use outside of toy projects. Let me…

    2023 · github.com

  4. 4RF

    Alternative to magic.h and infer. Zero dependencies. Fully extensible. Works in no_std, async, and embedded contexts.

    2025 · crates.io

  5. 5IB

    This weekend I created stacklib.h - a single-header library that brings Forth-style stack operations to C. It implements a basic interpreter with: - Stack operations (push/pop/dup/swap/over/drop) - Arithmetic (+, -, *, /) - Output (., emit, cr) - Stack inspection (.s, depth) Example usage: Stack s; stack_init(&s); dict_init(); exec(&s, "10 20 + ."); // Prints "30" exec(&s, "1 2 3 4 .s"); // Shows stack contents The library is self-contained, requires no dependencies, and handles basic error checking. It was inspired by wanting to understand…

    Sep 2025

  6. 6AD
  7. 7AP

    2024 · github.com

  8. 8IM

    An implementation of a dynamic programming language in Rust. Includes: Parser/Compiler, REPL, Virtual Machine, Bytecode Disassembler This started out as a learning project to teach myself Rust. It has grown into a decently substantial piece of software and I've learned quite a bit in the process! Some neat things: + A garbage collector that can store dynamically sized types without any double-indirection (i.e. I have my own Box implementation with manual alloc/dealloc) + The smart pointer used to reference GCed data is a thin pointer. The ptr metadata needed for DSTs is stored in…

    2022 · github.com

  9. 9AE

    This C library is part of a main project aimed at providing a reactive key-value (KV) database. The data is typed (numbers, strings, dates, or booleans) and can include formulas with references to other entries. Clients connected to this database receive a real-time data stream with updates to the subscribed keys, allowing them to react to changes and their dependencies. Essentially, it’s like building a distributed Excel, where data and formulas dynamically update across the system. I couldn’t find any libraries that offered the full set of features I needed for evaluating expressions, so I…

    2024 · github.com

  10. 10IR

    I rewrote the most common core string.h functions in pure C. I mostly did it to learn pointers and string. Would love to get any feedbacks:)

    2025 · github.com

  11. 11MC

    Modified C++ Inspired by the paper "Some Were Meant for C" by Stephen Kell, I decided to show that it's possible to iterate C++ to be safer, more explicit, and less error-prone. Here's a possible starting point: I didn't invent a new language or compiler, but took the world's best compiler, clang, and modified it to begin iterating towards a new furture of C++. Naming things is hard, so I call this 'Modified C++'. Some of the following could be implemented as tooling in a linter or checker, but the idea is to update the compiler directly. I also wanted to learn more about clang. This…

    2022 · github.com

  12. 12RB

    May 2026 · github.com

  13. 13TC

    Get it from here: https://github.com/c3lang/c3c In 2019, while contributing to the C2 language, I started up "C3" as a pet project while waiting for pull requests to be approved... Now it's 6 years later and C3 well on its way to 1.0, having released 0.7.0 last week. Unlike other C alternatives, C3 tries to evolve C – but without concern to backwards compatibility to the latter. What it adds to C is among other things: - Module system - Semantic macros and compile time introspection - Lightweight generic modules - Zero overhead errors - Build-in slices and SIMD types -…

    2025 · github.com

  14. 14HT

    Hey everyone! I've been working on hsrs, a type-safe Haskell Bindings Generator for Rust. I couldn't really find any bindings generator that would create type-safe, rich bindings for Haskell from Rust. Naturally, both languages have rich type systems, so I was amazed that no awesome bindings generator already existed, hence I decided to write my own. hsrs feels very similar to pyo3 and napi-rs, and if you've used those, hsrs will feel right at home. What's unique about hsrs as opposed to hs-bindgen is that it has type-safe bindings for rich types, like Result, Maybe, etc. while also…

    May 2026 · github.com

  15. 15CR

    I've created cppmatch, a lightweight, header-only C++ library that brings Rust-inspired pattern matching and error handling to C++. It tries to imitate the functionality of the questionmark (?) operator in C++ by using a macro that uses the gcc extension https://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html This allows to create exceptionless code with non-intrusive error-as-value that unlike Exceptions, makes it clear which kinds of error a function can generate and forces you to handle (or ignore) them. The ? operator translates to *expect* To handle the errors I…

    2025 · github.com

  16. 16CA

    Hi HN! I've built [CXXStateTree](https://github.com/ZigRazor/CXXStateTree), a modern C++ header-only library to create hierarchical state machines with clean, intuitive APIs. It supports: - Deeply nested states - Entry/exit handlers - State transitions with guards and actions - Asynchronous transitions with `co_await` (C++20 coroutines) - Optional runtime type identification for flexibility It's ideal for complex control logic, embedded systems, games, robotics, and anywhere you'd use a finite state machine. I’d love feedback, use cases, or contributions from the…

    2025 · github.com

  17. 17AP
  18. 18AN

    A convenient C string API, friendly alongside classic C strings.

    2022 · github.com

  19. 19GI

    Hi all! I'm going into my freshman year, and figured that the best way to prepare for the intro to programming Racket course would be to implement my own garbage-collected, dynamically typed, functional programming language in C ;) Anyways... here's the repo: https://github.com/liam-ilan/crumb I started learning C over the summer, so I still have a whole lot to learn... Any feedback would be greatly appreciated! :D

    2023

  20. 20

    A modern, frontend only, open source, CSV importer

    2025

  21. 21

    Try it on Compiler Explorer: https://godbolt.org/z/91dj5jeGW Check out the source code: https://github.com/RyanJK5/rjk-duck

    Jul 2026 · ryanjk5.github.io

  22. 22GA

    I built GRSH because I wanted a modern, memory-safe shell that feels native to FreeBSD but works seamlessly on macOS. While there are many shells out there, GRSH is my take on a minimal, fast, and secure command interpreter written entirely in Rust. It's designed for users who want the safety guarantees of Rust without the overhead of more bloated alternatives. I'm currently working on the official FreeBSD port. I’d love to get feedback on the shell's behavior and performance from the community. Github: https://github.com/antoniomalara301289/grsh

    Jan 2026 · grimreaper.icu

  23. 23MR
  24. 24HT

    Basically wrap your data struct in Option>> Better yet, use your custom type that provides few helper functions that make using it as nice as old C++ pointers. Obviously there's no pointer arithmetic, but it works great for dynamically allocated structures like trees or linked lists. Please comment how it's a horrible idea that will bring doom to me and my family. fn main() { struct Data { pub number: i32 } // struct Data { int number; }; let mut p:Pointer = Pointer(None); // Data *p = NULL; println!("{}", p.is_none()); // printf(p == NULL ? "true\n" :…

    2022

Ranked by how close each launch is in meaning, then by votes. Refine with a description →