HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
WebAssembly
gc
WebAssembly2017–2026
WebAssembly / gc · Archived

gc

Branch of the spec repo scoped to discussion of GC integration in WebAssembly

57Distinct people
68Mentions
0Explicit recommenders
1.1KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Branch of the spec repo scoped to discussion of GC integration in WebAssembly

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 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 2:59:58 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 year68 dated mentions

Observed mentions: 2017-04-29 23:58:05 UTC to 2026-10-21 12:17:44 UTC.

0510152017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 10 mentions; 0 submissions, 10 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 8 mentions; 0 submissions, 8 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 10 mentions; 2 submissions, 8 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 14 mentions; 1 submissions, 13 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 7 mentions; 0 submissions, 7 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 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
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC10010
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC808
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC505
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC404
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC404
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC1028
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC14113
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC202
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC707
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC404

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
GC Proposal for WebAssembly This repository is a clone of github.com/WebAssembly/spec/. It is meant for discussion, prototype specification and implementation of a proposal to add garbage collection (GC) support to WebAssembly. See the overview for a high-level summary and rationale of the proposal. Note: the concrete details here are out of date. See the MVP for an up-to-date overview of the concrete language extensions that are proposed for the first stage of GC support in Wasm. See the Post-MVP for possible future extensions in later stages. See the modified spec for the completed spec for the first-stage proposal described in MVP.md. This repository is based on the function references proposal as a baseline and includes all respective changes. Original README from upstream repository follows... spec This repository holds a prototypical reference implementation for WebAssembly, which is currently serving as the official specification. Eventually, we expect to produce a specification either written in human-readable prose or in a formal specification language. It also holds the WebAssembly testsuite, which tests numerous aspects of conformance to the spec. View the work-in-progress spec at webassembly.github.io/spec. At this time, the contents of this repository are under development and known to be "incomplet and inkorrect". Participation is welcome. Discussions about new features, significant semantic changes, or any specification change likely to generate substantial discussion should take place in the WebAssembly design repository first, so that this spec repository can remain focused. And please follow the guidelines for contributing. citing For citing WebAssembly in LaTeX, use this bibtex file.
Read the full README on GitHub

What Hacker News says

10 sources
Actually, Wasm goes into the direction you are pointing. A Wasm runtime should add a little overhead to the requirements of the Wasm module. However, it's true Wasm is not on that point yet. There are open threads about deallocate Wasm memory [1]. However, I expect these features, as well as Garbage Collection [2] will come to the stardard over time. This will allow modules and runtimes to properly manage memory usage. [1] https://stackoverflow.com/a/51544868 [2] https://github.com/WebAssembly/gc
In WebAssembly: Docker Without Containers
> I don't think WASM should/would unify the GC across memory models WASM already has a GC proposal[0] which is already at the "Implementation stage"[1] so it looks like this IS going to happen, although it's uncertain if language runtimes like Go will actually make use of the feature, or what. [0]: https://github.com/WebAssembly/gc/blob/main/proposals/gc/Ove... [1]: https://github.com/WebAssembly/proposals A glance of the overview and spec seems to indicate that WASM will provide some primitive data types, and any GC language can build their implementation on top of it. As I understand it, it's heavily based on Reference Types[3], which allows acting on host-provided types, and is already considered part of the spec [4]. It doesn't remove the need for the 5 different runtimes to have their own GC, but it lowers the bulk that the runtimes
Read the rest
need to carry around, and offloads some of that onto the WASM runtime instead. [3]: https://github.com/WebAssembly/reference-types/blob/master/p... [4]: https://github.com/WebAssembly/proposals/blob/main/finished-...
In Extism: Make all software programmable with WebAssembly
There's a proposals repo [1] that tracks the status of features like GC. According to that, GC is phase 2, which is prototyping [2]. To get to the finish line, implementations including at least 2 browsers need to happen (this is a Web standard, so there's some browser bias in the process). It is not straight forward to see who and what are implementing a proposal, especially if not tracked in the roadmap [3]. Best advice I could give for now is to watch the proposal repo [4], or just wait. It may be a while on this one. [1]: https://github.com/WebAssembly/proposals [2]: https://github.com/WebAssembly/meetings/blob/main/process/ph... [3]: https://webassembly.org/roadmap/ [4]: https://github.com/WebAssembly/gc
In Wazero: The zero dependency WebAssembly runtime for Go developers
It looks like garbage collection is at the 'proposal' stage, one step before it would start to be implemented. "During this phase: "One or more implementations proceed on prototyping the feature to the point that a comprehensive set of tests can be added. "A test suite is added. These tests need not pass the reference interpreter at this point, but should pass on some implementation." https://github.com/WebAssembly/proposals https://github.com/WebAssembly/meetings/blob/main/process/ph... Here's the proposal: https://github.com/WebAssembly/gc And you can see it's being actively worked on: https://github.com/WebAssembly/gc/commits/main
In WebAssembly 2.0 First Working Draft
krptos·Feb 4, 2022Submission

Ask HN: Why is WebAssembly friendlier with system languages?

It's a naive question but points me directly to a large hole in my understanding of WebAssembly. Here are the hints I already gathered but didn't give me quite a complete picture yet: 1. It makes sense that any language with GC-less memory management will be easier to port to WASM, because in WASM all we have is a linear array of bytes as memory. 2. But then higher languages like Kotlin have a LLVM backend, and then derive WASM binaries from LLVM IR. What makes this possible? 3. Even dynamically typed languages like Python are ported to WASM (I guess they ship the interpreter itself with the binary which will make them heavier) but I'm not sure how is it different from #2 or am I confusing two different routes? 4. What does this even mean - https://github.com/WebAssembly/gc/#gc-proposal-for-webassembly ? "GC proposal for webassembly" - ho
Read the rest
w will it aid in WASM becoming friendlier with higher level languages? 5. What exactly is ahead of time compilation? What relation does it have with WASM? All this means I have a very shallow understanding of memory management. So feel free to get as technical as possible. Thank you!
2 points · Open discussion
I have low faith in the current WebAssembly GC proposal. It's been such a daunting task that they've started talking about "mini-mini MVPs". The GC proposal does not do what most people think it does, the current draft is basically impossible for most languages to target, and even contributors are finding it difficult to reach consensus [0]. It might be a while before it becomes useful. [0] https://github.com/WebAssembly/gc/issues/254
In Pay attention to WebAssembly

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.