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

#9 in #lisp-interpreter

Download history 3/week @ 2023-10-21 35/week @ 2023-10-28 3/week @ 2023-11-04 2/week @ 2023-11-11 3/week @ 2023-11-18 21/week @ 2023-11-25 78/week @ 2023-12-02 8/week @ 2023-12-09 19/week @ 2023-12-16 38/week @ 2023-12-23 20/week @ 2023-12-30 3/week @ 2024-01-13 48/week @ 2024-01-20 38/week @ 2024-01-27

89 downloads per month

MIT/Apache

130KB
3.5K SLoC

parsley

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.

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–11MB
~100K SLoC