19 unstable releases

0.10.0 Jul 31, 2022
0.9.0 Jan 29, 2019
0.8.1 Jan 29, 2019
0.3.0 Dec 31, 2018

#305 in WebAssembly

Download history 1/week @ 2022-11-30 2/week @ 2022-12-07 20/week @ 2022-12-14 1/week @ 2022-12-28 1/week @ 2023-01-04 1/week @ 2023-01-18 5/week @ 2023-01-25 6/week @ 2023-02-01 58/week @ 2023-02-08 39/week @ 2023-02-15 19/week @ 2023-02-22 40/week @ 2023-03-15

59 downloads per month


3.5K SLoC


Build Crates.io

what if scheme...but rust. still working on a backronym.

cargo install parsley installs the interpreter - see the docs if you want to use it as a library.

high-level goals

  1. a lightweight Scheme implementation...
  2. that compiles to WebAssembly...
  3. usable inside of a larger application without making too many sacrifices...
  4. that is modular and extensible...
  5. but includes enough definitions to be useful out of the box.

on the horizon

  • improve test coverage
    • More tests from SICP
    • Better coverage of the standard library
    • Example crates
  • (eventually) R7RS compliance

Navigating this repo

  • The source for the main library is in src.
  • The source for the cargo install-able binary is in src/bin/parsley.
  • The source for the (gh-pages) homepage is in examples/www.
    • To run (serve) or compile (build) it, cd into that directory and use trunk. Its output will be placed in ./examples/www/dist.
  • The source for the npm package is in examples/npm.
    • To compile it, use wasm-pack. Its output will be placed in examples/npm/pkg.


Licensed under either of

at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


~91K SLoC