HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
pizlonator
fil-c
Security & Privacy2024–2026
pizlonator / fil-c

fil-c

Fil-C: completely compatible memory safety for C and C++

48Distinct people
69Mentions
0Explicit recommenders
3.9KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Fil-C: completely compatible memory safety for C and C++

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year69 dated mentions

Observed mentions: 2024-02-21 02:26:54 UTC to 2026-10-27 15:44:46 UTC.

0102030402024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 25 mentions; 10 submissions, 15 comments20242025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 36 mentions; 7 submissions, 29 comments20252026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 8 mentions; 2 submissions, 6 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC251015
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC36729
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC826

What Hacker News says

69 sources
The classic on the fly GC algorithm is DLG, hilariously published in two papers, because the first one had a bug. Here's the second paper: https://caml.inria.fr/pub/papers/doligez_gonthier-gc-popl94.... It's a well known algorithm. Folks who do GCs for a living know about it. The folks who work on Go are surely aware of it. I'm assuming that they do not use it for a good reason, hence my question! Fil-C's GC (Fil's Unbelievable Garbage Collector) uses an alternative on-the-fly algorithm, which I call Phil's Concurrent Marking. I've documented it here: https://fil-c.org/fugc Here's the source: https://github.com/pizlonator/fil-c/blob/deluge/libpas/src/l... Phil's Concurrent Marking differs from DLG in that it only requires a Djikstra barrier and uses a permagrey stack (something that Go used to do). However, FUGC does clever things for cor
Read the rest
outines (as in ucontexts, which Fil-C supports) - they are not permagrey; they only become grey if they execute. That's relevant to Go because Go moved away from permagrey stacks because of coroutine scan overheads, which the FUGC coroutine strategy might avoid. But even if Go could not go back to permagrey, then the answer would be to use DLG, which would involve using the combined Yuasa+Dijstra barrier, which Go uses today anyway
In A 40ms Go garbage collector pause caused by swap
> Honestly, rust is slightly more readable than obfuscated perl. > Rust is the kind of language that would push me to write a new language that isn't rust. It's wild how draconian and forced the use of Rust has become. It's one thing to be caught up in corporate induced hype, yet another level to force one's preferences or ideology on everybody else. Many people don't like Rust, for various acceptable reasons, and their right to choose should be respected. Sticking with C, is an equally acceptable option. In addition to there being various other newer C alternatives languages; with greater readability, memory-safety, and ease of use. There is also Fil-C[1][2], that can provide memory-safety, with no to minimum changes to the code. [1]: fil-c.org/ [2]: github.com/pizlonator/fil-c
In APT Rust requirement raises questions
at the bottom of the turtle stack, there's a yolo-c libc that does some syscall stuff: > libyoloc.so. This is a mostly unmodified [musl/glibc] libc, compiled with Yolo-C. The only changes are to expose some libc internal functionality that is useful for implementing libpizlo.so. Note that libpizlo.so only relies on this library for system calls and a few low level functions. In the future, it's possible that the Fil-C runtime would not have a libc in Yolo Land, but instead libpizlo.so would make syscalls directly. but mostly you are using a fil-c compiled libc: > libc.so. This is a modified musl libc compiled with Fil-C. Most of the modifications are about replacing inline assembly for system calls with calls to libpizlo.so's syscall API. That links here: https://github.com/pizlonator/fil-c/blob/deluge/filc/include... Quotes from: https:/
Read the rest
In Notes by djb on using Fil-C
> Note that the "safepointing" logic is exactly the same thing that's needed in refcounting to atomic replace a field. No it's not, not even close. > This article glosses over what I consider the hardest part - the enter/exit functionality around native functions may that block (but which must touch the allocator). Yeah, that part is hard, and maybe I'll describe it in another post. Look for `filc_enter` and `filc_exit` in https://github.com/pizlonator/fil-c/blob/deluge/libpas/src/l...
In Fil's Unbelievable Garbage Collector

Showing the 15 most recent of 69 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.