Directly compiling Scheme to WebAssembly: lambdas, recursion, iteration

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • rasm

    Racket to WebAssembly Compiler (by GrantMatejka)

    I built rasm (https://github.com/GrantMatejka/rasm) to compile racket to wasm. Definitely not production grade, but fun nonetheless

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • s7-playground

    Try s7 scheme in your browser, powered by WebAssembly

    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).

  • biwascheme

    Scheme interpreter written in JavaScript

    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).

  • schism

    Discontinued A self-hosting Scheme to WebAssembly compiler

    https://github.com/google/schism

    For some reason, Google was working on a Scheme WASM compiler, which they got self-hosting. It was then abandoned. I don't really know what they were trying to accomplish with that project.

  • proposals

    Tracking WebAssembly proposals (by WebAssembly)

    The proposal was recently bumped to stage 4 (the penultimate stage) with at least a couple of runtimes working on implementing (besides v8, which has supported it for quite awhile now)

    https://github.com/WebAssembly/proposals

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • BiwaScheme is a Scheme interpreter written in JavaScript

    1 project | news.ycombinator.com | 10 Jun 2023
  • My reading workflow (you guys might find some bits from it useful)

    1 project | /r/emacs | 24 Jan 2023
  • The stepmotherly treatment of Windows platform by Scheme implementors

    3 projects | /r/scheme | 29 Nov 2022
  • LIPS Scheme version 1.0.0-beta.15 is out

    2 projects | /r/scheme | 31 Oct 2021
  • Example implementation of continuations and TCO in Scheme or lisp

    2 projects | /r/ProgrammingLanguages | 15 Aug 2021

Did you konow that JavaScript is
the 3rd most popular programming language
based on number of metions?