A pure C89 implementation of Go channels, with blocking selects
A pure C (-std=c89) implementation of Go channels, including blocking and non-blocking selects. - GitHub - rochus-keller/CspChan: A pure C (-std=c89) implementation of Go channels, including blocking and non-blocking selects.
A pure C89 implementation of Go channels, with blocking selects launched on December 13, 2023 with 271 votes, #132 of 3,780 launches that month and more than 95% of that year's launches. The site was still online in September 2026, 2 years on.
In plain words
This is a C89 library that implements Go-style channels with blocking select operations for concurrent programming. It allows developers to use Go's channel patterns and synchronization primitives in C projects. The implementation is written in pure C89, making it compatible with older C standards and environments that cannot use modern language features. It is designed for programmers working in C who need channel-based communication and synchronous multiplexing capabilities.
written from the facts on this page · September 2026
Does a similar job
all alternatives →
Chan – pure C implementation of Go channels2014 · github.com · ▲150Pure C implementation of Go channels. Contribute to tylertreat/chan development by creating an account on GitHub.
Go channels as a C library (with Obj-C wrapper)2014 · github.com · ▲8A full implementation of Go channels as a C library - davekeck/eb_chan
go-nbd – A Pure Go NBD Server and Client2023 · github.com · ▲113Hey HN! I just released go-nbd, a lightweight Go library for effortlessly creating NBD servers and clients. Its a neat tool for creating custom Linux block devices with arbitrary backends, such as a file, byte slice or what I'm planning to use it for, a tape drive. While there are a few partially abandoned projects like this out there already, this library tries to be as maintainable as possible by only implementing the most recent handshake revision and baseline functionality for both the client and the server, while still having enough support to be useful. I'd love to get your feedback :)
A pure reference counting GC in Go2020 · github.com · ▲57Contribute to sendilkumarn/gopurerc development by creating an account on GitHub.
A new stdlib for Golang focusing on platform native support2023 · github.com · ▲154No gc, No goroutines, Produces small binaries while using the unmodified official go toolchain, and comes with complete Web SDK (generated from w3c/webref). We are building `pcz` to provide a reimagination of Go the language, in an effort to make it suitable for all kinds of programming tasks, and currently you can use it to build efficient web applications in Go using the generated Web SDK (as shown with the live web demo[1]). The journey is just starting, any suggestions? or any critics? [1]: https://primecitizens.github.io/livedemos/10-plat-web/
Go# – go-like concurrency aspects in C#2017 · github.com · ▲20Go-like DSL for C#. Contribute to kpocza/GoSharp development by creating an account on GitHub.
More dev tools this month
the category →
Contribute to oosexgang/hackios-xnu-kernel development by creating an account on GitHub.
Dev tools · 1d ago · github.com


open-source IDE for thoughtful software design. Contribute to devdotfast/whiteboard development by creating an account on GitHub.
Dev tools · 29d ago · github.com

Contribute to reladraw/reladraw development by creating an account on GitHub.
Dev tools · 27d ago · github.com
OpenBot▲362Grok Bot alternative: free, local, open-source, multiplayer
Dev tools · 25d ago · openbot.run
Talanoa▲346Hi HN, I’m a fullstack developer, and honestly, I’ve lost count of how many side projects I’ve worked on over the years. But one idea kept coming back to me: a different kind of email client. It first came to me in 2014: “What if we could handle emails more like conversations?” Every year, I’d revisit this concept in my “Build Notes.” Ten years later, no one had built exactly what I had in mind — so I finally decided to do it myself. That’s how Talanoa was born. I wanted something focused on people, not timelines. I was tired of marking messages as unread just to remember to reply later, or…
Dev tools · 22d ago · talanoa.email
Source: Show HN post ↗
Launched alongside, December 2023
the whole month →
Hi HN! I’m proud to share that we have built a real 3rd party iMessage client for Android. We did it by reverse engineering the iMessage protocol and encryption system. It's available to download today (no waitlist): https://play.google.com/store/apps/details?id=com.beeper.ima and there's a technical writeup here: https://blog.beeper.com/p/how-beeper-mini-works. Unlike every other attempt to build an iMessage app for Android (including our first gen app), Beeper Mini does not use a Mac server relay in the cloud. The app connects directly to Apple…
Work · 2023 · beeper.com

Hey! I made Heynote entirely for my own use case. For many years, I always had an Emacs instance running with the scratch buffer open, even long after I had abandoned Emacs as my programming editor in favor of more recent IDE:s. The simplicity of having just one big scratch buffer appeals to me, but I still want to separate the different things I jot down somehow (without using tabs or similar). Previously, my solution was to insert a bunch of blank lines between the notes, but hitting C-A would still select the entire buffer. That's why I came up with the concept of "blocks", which turned…
Work · 2023 · heynote.com

FuseBase▲939Client collaboration platform for professional services
Dev tools · 2023 · thefusebase.com
Beep! 2.0▲871Fastest tool to assign and share visual tasks with your team
Work · 2023 · justbeepit.com
Inbox Zero▲821Clean Up Your Inbox In Minutes Newsletter management, AI automation, and email analytics. Inbox Zero is the open-source email app that puts you back in control of your inbox.
AI · 2023 · getinboxzero.com