reference-types VS biwascheme

Compare reference-types vs biwascheme and see what are their differences.

reference-types

Proposal for adding basic reference types (anyref) (by WebAssembly)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
reference-types biwascheme
9 16
151 722
- 0.6%
5.3 8.3
over 2 years ago 5 days ago
WebAssembly JavaScript
GNU General Public License v3.0 or later MIT License
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.

reference-types

Posts with mentions or reviews of reference-types. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-03.
  • Old CSS, new CSS (2020)
    1 project | news.ycombinator.com | 13 Apr 2024
    > It could be an interesting use case for WASM if the problem of passing data into the WASM VM cheaply (perhaps by reference) can be solved.

    WASM Reference Types should hopefully solve this. The WASM working group seems to have some good momentum - so I'm hopeful this (or a similar replacement spec) will land sooner rather than later.

    https://github.com/WebAssembly/reference-types/blob/master/p...

  • Bring garbage collected programming languages efficiently to WebAssembly
    16 projects | news.ycombinator.com | 3 Nov 2023
    AFAIK GC is irrelevant for "direct DOM access", you would rather want to hop into the following rabbit hole:

    - reference types: https://github.com/WebAssembly/reference-types/blob/master/p...

    - interface types (inactive): https://github.com/WebAssembly/interface-types/blob/main/pro...

    - component model: https://github.com/WebAssembly/component-model

    If this looks like a mess, that's because it is. Compared to that, the current solution to go through a Javascript shim doesn't look too bad IMHO.

  • Extism: Make all software programmable with WebAssembly
    14 projects | news.ycombinator.com | 1 Dec 2022
    [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 need to carry around, and offloads some of that onto the WASM runtime instead.

    [3]: https://github.com/WebAssembly/reference-types/blob/master/p...

  • Struggling to find yew benchmarks
    2 projects | /r/rust | 4 Sep 2022
    They've talked about interface types, and added reference types, which is a stepping stone toward the GC extension proposal, which would be a stepping stone toward manipulating the DOM from the WebAssembly side, but their official roadmap page is more short-term.
  • Blazor WASM and privacy
    1 project | /r/dotnet | 6 Nov 2021
    Nope, WASM reference types, it has nothing to do with .NET type system.
  • FFmpeg for browser and node, powered by WebAssembly
    6 projects | news.ycombinator.com | 20 Aug 2021
    > And there's been talk of exposing the JS GC to wasm for a few years. Hopefully when that stuff lands, it'll get easier to marshal objects across the gap.

    You don't need a Wasm GC to do this. If you only need js objects to pass on to, say, the host's function or check is null or not, then reference types that are opaque external references: https://github.com/WebAssembly/reference-types/blob/master/p...

    You can even do many more things if you export `Reflect` to WebAssembly: https://github.com/AssemblyScript/assemblyscript/blob/main/t...

    Reference Types are available almost everywhere already (In Safari will be available after 15.0): https://webassembly.org/roadmap

  • WebContainers: Run Node.js natively in the browser
    11 projects | news.ycombinator.com | 20 May 2021
  • Cranelift, Part 3: Correctness in Register Allocation
    4 projects | /r/rust | 15 Mar 2021
    Re: GC -- yes, indeed, the whole business with safepoints arose from the need to support Wasm reference types as a backend for Wasmtime or Firefox. No safepoints are needed for Rust (or other C-like) code.
  • Wasmer 1.0 released, the fastest WebAssembly VM, cross-compilation, headless, native object engine, AOT compilers and more!
    11 projects | /r/programming | 7 Jan 2021
    Reference Types,

biwascheme

Posts with mentions or reviews of biwascheme. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-09.
  • Embeddable Common Lisp 23.9.9
    4 projects | news.ycombinator.com | 9 Sep 2023
    If Scheme is something you enjoy, BiwaScheme's interpreter can be instantiated from within Javascript and can be used to evaluate Scheme code.

    https://www.biwascheme.org/

  • BiwaScheme is a Scheme interpreter written in JavaScript
    1 project | news.ycombinator.com | 10 Jun 2023
  • Directly compiling Scheme to WebAssembly: lambdas, recursion, iteration
    5 projects | news.ycombinator.com | 31 May 2023
    This project is very exciting. In the meantime, there are a couple of options:

    BiwaScheme: https://www.biwascheme.org/

    Advantages: written in JavaScript, with excellent JS interop. Project has some history.

    Disadvantages: slower than S7 (though still plenty fast for many uses), less-complete (e.g., no syntax-rules or syntax-case, though it does have its own define-macro).

    S7 Scheme: https://cm-gitlab.stanford.edu/bil/s7

    Written in C, but can be transpiled to WASM (see https://github.com/actonDev/s7-playground/ )

    Advantages: This project also has some history. Considerably faster than BiwaScheme.

    Disadvantages: JS interop is clumsier (basically the same issues as JS interop with any WASM code... this could probably be mitigated considerably if someone wanted to take the time).

  • All Web frontend lisp projects
    10 projects | /r/lisp | 23 May 2023
    For Scheme implementations there are LIPS and biwascheme. I haven't done more than play around with them, so I can't really give an informed opinion about pros and cons or favorites.
  • My reading workflow (you guys might find some bits from it useful)
    1 project | /r/emacs | 24 Jan 2023
    I used to have hundreds of open tabs. From there I kept repurposing it to do more stuff with the browser until it reached its current state, where I want to make it a "extend firefox from Emacs" thing. It kinda do that already, but extending the firefox-extension itself require the extension to be re-built (so you need whole javascript tooling, rebuild and reload the addon etc). I am considering adding something like biwascheme to it soon to work around that.
  • The stepmotherly treatment of Windows platform by Scheme implementors
    3 projects | /r/scheme | 29 Nov 2022
    And then users can just use biwascheme and run programs in mainframes and their smart toasters
  • If you were hired to create a new distribution of Lisp, what would you include?
    5 projects | /r/lisp | 13 Jul 2022
    Languages like Biwa Scheme and LIPS Scheme are good for running Scheme in the browser. But I would prefer compiling Scheme code to JavaScript in the server, then serving the compiled JavaScript image to the browser.
  • LIPS Scheme version 1.0.0-beta.15 is out
    2 projects | /r/scheme | 31 Oct 2021
    Just a note that even BiwaScheme doesn't fully implement call/cc, it doesn't save the whole environment when capturing.
    2 projects | /r/lisp | 31 Oct 2021
    Very cool! Do you know how this compares with Biwascheme? https://www.biwascheme.org/
  • Racketscript/Racketscript: Racket to JavaScript Compiler
    5 projects | news.ycombinator.com | 26 Sep 2021
    Biwascheme has some weird scoping bugs that makes me a litte afraid of using it for serious stuff. It seems nixe and all, but this: https://github.com/biwascheme/biwascheme/issues/125 is not very confidemce inspiring.

    There is another schemey language that compiles to JS that accepts things like this:

        (when (start-are-aligned?)

What are some alternatives?

When comparing reference-types and biwascheme you can also consider the following projects:

assemblyscript - A TypeScript-like language for WebAssembly.

LIPS - Scheme based powerful lisp interpreter in JavaScript

wasmtime - A fast and secure runtime for WebAssembly

gambit - Gambit is an efficient implementation of the Scheme programming language.

ffmpeg.wasm - FFmpeg for browser, powered by WebAssembly

schism - A self-hosting Scheme to WebAssembly compiler

proposals - Tracking WebAssembly proposals

webcontainer-core - Dev environments. In your web app.

racketscript - Racket to JavaScript Compiler

Uno Platform - Build Mobile, Desktop and WebAssembly apps with C# and XAML. Today. Open source and professionally supported.