toml
[dependencies]
lexpr = "0.1.2"
You may be looking for:
S-expressions are the
human-readable, textual representation of code and data in the Lisp
family of languages. lexpr
aims to provide the tools to:
Embed S-expression data into Rust programs using the sexp
macro:
```rust use lexpr::sexp;
let address = sexp!(((name . "Jane Doe") (street . "4026 Poe Lane"))); ```
Construct and destructure S-expression data using a full-featured API:
```rust use lexpr::Value;
let names = Value::list(vec!["Alice", "Bob", "Mallory"]); println!("The bad guy is {}", names[2].as_str().unwrap()); ```
Parse and serialize S-expression data from and to its textual
representation. This is, as of version 0.1.2, not yet implemented,
but should be coming soon. You may have a look at the
wip/parse
branch, if you are curious, but note that it is subject to frequent
rebasing.
To get a better idea of the direction lexpr
is headed, you may want
to take at the TODO or the "why"
document.
The code and documentation in the lexpr
git repository is free
software, dual-licensed
under the MIT or Apache-2.0
license, at your choosing.
The lexpr
repository contains code and documentation adapted from
the following projects:
serde_json
, also dual-licensed
under MIT/Apache-2.0 licenses.sexpr
, Copyright 2017 Zephyr
Pellerin, dual-licensed under the same licenses.