# Pure Rust, `#![forbid(unsafe_code)]`, minimal dependencies

lispexp is pure Rust with no C toolchain, `bindgen`, or system libraries, forbids `unsafe`, and keeps dependencies minimal (ideally only something like `unicode-xid` for identifier classification). This is a hard constraint inherited from `cccc`'s stated value of cross-compiling cleanly to targets like `*-musl` and `*-windows-msvc` — the one heavyweight native adapter (Ruby/Prism) is the exception `cccc` does not want to repeat, so its foundational reader must not reintroduce that cost. `s-expr` demonstrates a full span-tracking S-expression reader is achievable with a single `unicode-xid` dependency, so this constraint is known to be compatible with the feature set.
