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

#391 in WebAssembly

48 downloads per month

MIT/Apache

130KB
3.5K SLoC

parsley

Build

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.

License

Licensed under either of

at your option.

Contribution

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.

Dependencies

~0–13MB
~103K SLoC