Skip to content

Scheme Interpreters in JavaScript

Tom Elam edited this page Mar 26, 2021 · 20 revisions

Some possibly good lists of Scheme interpreters in JavaScript:

  1. Scheme Web, Standardizing the Scheme web development stack, with their own SRFI
  2. jashkenas list of Schemes that compile to JavaScript
  3. a googling of: scheme interpreter javascript
  4. a googling of: scheme implementations
  5. a googling of: scheme webassembly
  6. a googling of: javascript site:schemers.org
  7. a googling of: scheme "asm.js"
  8. a googling of: scheme site:repl.it
  9. a googling of: scheme online
  10. a googling of: scheme webassembly
  11. a googling of: emscripten scheme
  12. the list of implementations in Wikipedia's entry for Scheme (programming language)
  13. Wikipedia's Category:Scheme (programming language) implementations
  14. Rosettacode.org's Category:Scheme Implementations
  15. Scheme Web Dev
  16. Scheme section of "languages that compile to JavaScript"

Some interesting reads about Scheme interpreters in JavaScript:

  1. Paper on Whalesong
  2. A performant scheme interpreter in asm.js, Noah Van Es, Jens Nicolay, Quentin Stievenart, Theo D’Hondt, Coen De Roover - PDF available as a free download
  3. Implementing a performant scheme interpreter for the web in asm.js, Noah Van Es, Jens Nicolay, Quentin Stievenart, Theo D’Hondt, Coen De Roover - PDF available as a free download
  4. Implementing a performant scheme interpreter for the web in asm.js, Noah Van Es, Jens Nicolay, Quentin Stievenart, Theo D’Hondt, Coen De Roover (ACM citation)
  5. Schemeweb
  6. Schemeweb mailing list

Scheme Implementations for the browser

  1. Whalesong and its predecessor, Moby
  2. RacketScript
  3. jsScheme (not maintained)
  4. Biwascheme
  5. Gambit
  6. LIPS (https://lips.js.org/)
  7. Gauche
  8. Chibi Scheme (tiny library to use as an extension & scripting language in C programs; works on Emscripten)
  9. Schism (compiler from Scheme to WebAssembly)
  10. a Scheme-to-Rust compiler built in Rust (with step-by-step implementation details by a first-time Schemer)

(Others to be added when I have time.)


WTF?

  1. Wasm/k: Delimited Continuations for WebAssembly

Useful?

  1. https://github.com/swank-js/swank-js
  2. https://socket.io/ (used by swank-js and maybe useful to us in other ways)
  3. http://www.larcenists.org/benchmarksAboutR7.html