meetings VS gc

Compare meetings vs gc and see what are their differences.

meetings

WebAssembly meetings (VC or in-person), agendas, and notes (by WebAssembly)

gc

Branch of the spec repo scoped to discussion of GC integration in WebAssembly (by WebAssembly)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
meetings gc
9 43
444 924
2.3% 2.2%
9.4 9.4
8 days ago 12 days ago
HTML WebAssembly
- GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

meetings

Posts with mentions or reviews of meetings. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-26.
  • WASI 0.2.0 and Why It Matters
    8 projects | news.ycombinator.com | 26 Jan 2024
    WASI Co-chair here. Nothing in WASI is "somehow blocked by Google", or indeed blocked by anyone at all. Graphics support in WASI hasn't been developed simply because nobody has put energy into developing graphics support in WASI.

    At the end of 2023 we counted around 40 contributors who have been working on WASI specifications and implementations: https://github.com/WebAssembly/meetings/blob/main/wasi/2023/... . That is a great growth for our project from a few years ago when that issue was filed, but as you can see from what people are working on, its all much more foundational pieces than a graphics interface. Also, if you look at who is employing those contributors, its largely vendors who are interested in WASI in the context of serverless. That doesn't mean WASI is limited to only serverless, but that has been the focus from contributors so far.

    By rolling out WASI on top of the WASM Component Model we have built a sound foundation for creating WASI proposals that support more problem domains, such as embedded systems (@mc_woods and his colleagues are helping with this), or graphics if someone is interested in putting in the work. Our guide to how to create proposals is found here: https://github.com/WebAssembly/WASI/blob/main/Contributing.m... .

  • WASM: Big Deal or Little Deal?
    5 projects | news.ycombinator.com | 5 Sep 2023
    For me, the huge missing link (that is fortunately being worked on!) is being able to (in a performant way) have a good answer for "host code wants to do some blocking operation, WASM should suspend during the operation".

    This _should_ be gotten thanks to work on stack switching in WASM. As of the most recent working group meeting on this [0], it seems like V8 has made a good amount of progress on this. They published a thing back in January[1] on this, and hopefully if things go well and this is available across WASM engines then there will be one less "JS-ism" (everything async) that causes issues for transpilation.

    [0]: https://github.com/WebAssembly/meetings/blob/main/stack/2023...

    [1]: https://v8.dev/blog/jspi

  • Goodbye to the C++ Implementation of Zig
    12 projects | news.ycombinator.com | 8 Dec 2022
    > Whereas the later has only been around since 2015 and was created by a company that subsists off an agreement with a deviant online advertising company.

    Mozilla created a precursor technology, but I thought Wasm was developed via the W3C standards process from the start. From the notes of the first meeting, you can see attendees from Adobe, Apple, ARM, Autodesk, Google, Intel, Mozilla, Stanford, and more.

    https://github.com/WebAssembly/meetings/blob/main/main/2017/...

    Additionally, Wasm has been a W3C standard since 2019.

  • Wasm difficulties in Rust, Haskell, and Go
    9 projects | dev.to | 30 Nov 2022
    A bunch of packages like tokio don't work because they transitively depend on net, and WASI doesn't have networking yet (networking is in phase 1 of 5), and it doesn't seem possible to turn off the net feature of transitive dependencies
  • Take More Screenshots
    24 projects | news.ycombinator.com | 24 Jul 2022
    I think SIMD was a distraction to our conversation, most code doesn't use it and in the future the length agnostic, flexible vectors; https://github.com/WebAssembly/flexible-vectors/blob/master/... are a better solution. They are a lot like RVV; https://github.com/riscv/riscv-v-spec, research around vector processing is why RISC-V exists in the first place!

    I was trying to find the smallest Rust Wasm interpreters I could find, I should have read the source first, I only really use wasmtime, but this one looks very interesting, zero deps, zero unsafe.

    16.5kloc of Rust https://github.com/rhysd/wain

    The most complete wasm env for small devices is wasm3

    20kloc of C https://github.com/wasm3/wasm3

    I get what you are saying as to be so small that there isn't a place of bugs to hide.

    > “There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.” CAR Hoare

    Even a 100 line program can't be guaranteed to be free of bugs. These programs need embedded tests to ensure that the layer below them is functioning as intended. They cannot and should not run open loop. Speaking of 300+ reimplementations, I am sure that RISC-V has already exceeded that. The smallest readable implementation is like 200 lines of code; https://github.com/BrunoLevy/learn-fpga/blob/master/FemtoRV/...

    I don't think Wasm suffers from the base extension issue you bring up. It will get larger, but 1.0 has the right algebraic properties to be useful forever. Wasm does require an environment, for archival purposes that environment should be written in Wasm, with api for instantiating more envs passed into the first env. There are two solutions to the Wasm generating and calling Wasm problem. First would be a trampoline, where one returns Wasm from the first Wasm program which is then re-instantiated by the outer env. The other would be to pass in the api to create new Wasm envs over existing memory buffers.

    See, https://copy.sh/v86/

    MS-DOS, NES or C64 are useful for archival purposes because they are dead, frozen in time along with a large corpus of software. But there is a ton of complexity in implementing those systems with enough fidelity to run software.

    Lua, Typed Assembly; https://en.wikipedia.org/wiki/Typed_assembly_language and Sector Lisp; https://github.com/jart/sectorlisp seem to have the right minimalism and compactness for archival purposes. Maybe it is sectorlisp+rv32+wasm.

    If there are directions you would like Wasm to go, I really recommend attending the Wasm CG meetings.

    https://github.com/WebAssembly/meetings

    When it comes to an archival system, I'd like it to be able to run anything from an era, not just specially crafted binaries. I think Wasm meets that goal.

    https://gist.github.com/dabeaz/7d8838b54dba5006c58a40fc28da9...

  • Wazero: The zero dependency WebAssembly runtime for Go developers
    13 projects | news.ycombinator.com | 16 May 2022
    [2]: https://github.com/WebAssembly/meetings/blob/main/process/ph...
  • WebAssembly 2.0 Working Draft
    21 projects | news.ycombinator.com | 19 Apr 2022
    The simplest way to get involved is to start attending the biweekly standardization meetings. The agendas are organized here: https://github.com/WebAssembly/meetings

    To attend the meetings, first join the W3C WebAssembly Community Group here: https://www.w3.org/groups/cg/webassembly, then email the CG chairs at [email protected] to ask for an invite.

    From there you'll get a sense of who folks are so you can pair names with faces when contributing to the various proposal discussions on the many proposal repos listed here: https://github.com/webassembly/proposals.

    To get a sense of how things are run and decided, read the process documents here: https://github.com/WebAssembly/meetings/tree/main/process. The TL;DR is that the community group and its subgroups decide everything by consensus via votes during the meetings.

  • Launch HN: Lunatic (YC W21) – An Erlang Inspired WebAssembly Platform
    5 projects | news.ycombinator.com | 6 Mar 2021
    Meetings are scheduled here, along with their planned agendas: https://github.com/WebAssembly/meetings/tree/master/stack/20...

gc

Posts with mentions or reviews of gc. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-03.
  • Bring garbage collected programming languages efficiently to WebAssembly
    16 projects | news.ycombinator.com | 3 Nov 2023
    It may take some time for WasmGC to be usable by .NET. Based on the discussions the first version of WasmGC does not have a good way to handle a few .NET specific scenarios, and said scenarios are "post-post-mvp". [0]

    My concern, of course, is that there is not much incentive for those features to be added if .NET is the only platform that needs them... at that point having a form of 'include' (to where a specific GC version can just be cached and loaded by another WASM assembly) would be more useful, despite the pain it would create.

    [0] - https://github.com/WebAssembly/gc/issues/77

  • WasmGC – Compile and run GC languages such as Kotlin, Java in Chrome browser
    4 projects | news.ycombinator.com | 2 Nov 2023
    Yes, that's definitely true: a single GC will not be optimal for everything, or even possible. Atm interior pointers are not supported at all, for example, but they are on the roadmap for later:

    https://github.com/WebAssembly/gc/blob/main/proposals/gc/Pos...

    What launched now is enough WasmGC to support a big and useful set of languages (Java, Kotlin, Dart, OCaml, Scheme), but a lot more work will be required here!

  • Learn WebAssembly by writing small programs
    7 projects | news.ycombinator.com | 5 Sep 2023
    GC proposal is from 2018: https://github.com/WebAssembly/proposals/issues/16 and there’s code: https://github.com/WebAssembly/gc/blob/master/proposals/gc/O...

    Seems like an awefully long time for progress to be made, given all the possibilities it would unlock.

  • The state of modern Web development and perspectives on improvements
    5 projects | dev.to | 24 Aug 2023
    First is the size. Writing a server-side and client-side program is possible with Rust, and the resulting WASM package will be small enough. At the same time, Microsoft Blazor converts C# code to WASM, but the client delivery has to include the reduced .NET runtime, taking several megabytes for a script. The same is true for GoLang, even with an attempt to reduce the runtime delivery in TinyGo WASM. Developers want to work with their favorite languages, whether it is Java, Kotlin, Dart, C#, F#, Swift, Ruby, Python, C, C++, GoLang, or Rust. These languages produce groups of runtimes. For example, JVM and .NET have many common parts, Ruby and Python are dynamically interpreted at runtime, and all mentioned depend on automatic garbage collection. For smaller WASM packages, browser vendors can include extended runtime implementations, for example, by delivering a general garbage collector as part of WASM. Garbage collection support by WASM is currently in progress: WASM GC, .NET WASM Notes.
  • Douglas Crockford: “We should stop using JavaScript”
    6 projects | news.ycombinator.com | 12 Jun 2023
    My understanding is that the main limitation is technical. WASM doens't do GC or the host system calling conventions and cannot interact directly with object from Javascript because of this. However, this is being worked[0] on and will be solved eventually. Even without this the performance overhead of bridging to JS is low enough that WASM frameworks can beat out React.

    0: https://github.com/WebAssembly/gc/blob/main/proposals/gc/Ove...

  • Question: WasmGC and state shared with JS with Kotlin/wasm or Multiplatform?
    1 project | /r/Kotlin | 12 May 2023
    I’ve just watched a video on YouTube from Google I/O 2023 on Flutter for the web. Kevin Moore explains that Flutter can compile to Wasm, but now that GC support has been added to the standard and WasmGC is supported in Chromium and Firefox, I’m quite intrigued.
  • Will implementing garbage collection in WebAssembly speed up Blazor?
    1 project | /r/Blazor | 5 Apr 2023
    I have found the main thread about using WebAssembly GC in C#: https://github.com/WebAssembly/gc/issues/77. If I understand it correctly, it is not possible to use the current prototype version of GC in C#.
  • GC Extension for WebAssembly
    1 project | news.ycombinator.com | 11 Mar 2023
  • Blazor United - When it ships it would be the most glorious way to do web with .NET
    5 projects | /r/programming | 25 Jan 2023
    The .net team has given their notes on it, the concern is more on the memory layout from what I remember. Though it may be possible still. The runtime would likely still ship some gc code, but only a subset for cases not supported by the wasm gc itself and a few more for interfacing with the gc service, which overall should still result on smaller payloads compared to current sizes.
  • Kernel-WASM: Sandboxed kernel mode WebAssembly runtime for Linux
    4 projects | news.ycombinator.com | 20 Jan 2023
    I assume that's one of the parts of the work done at https://github.com/WebAssembly/gc - not happening any soon yet, but it'll eventually be done.

What are some alternatives?

When comparing meetings and gc you can also consider the following projects:

riscv-v-spec - Working draft of the proposed RISC-V V vector extension

dotnet-webgl-sample - .NET + WebAssembly + WebGL = 💖

interface-types

ASP.NET Core - ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.

spec - WebAssembly specification, reference interpreter, and test suite.

wasm3 - 🚀 A fast WebAssembly interpreter and the most universal WASM runtime

embly - Attempt at building an opinionated webassembly runtime for web services

simd - Branch of the spec repo scoped to discussion of SIMD in WebAssembly

chat - A telnet chat server

Mono - Mono open source ECMA CLI, C# and .NET implementation.

component-model - Repository for design and specification of the Component Model

v86 - x86 PC emulator and x86-to-wasm JIT, running in the browser