| Crates.io | clojure-reader |
| lib.rs | clojure-reader |
| version | 0.4.0 |
| created_at | 2024-06-18 13:39:40.485387+00 |
| updated_at | 2025-07-27 01:48:00.326349+00 |
| description | A Clojure reader |
| homepage | |
| repository | https://github.com/grinkers/clojure-reader |
| max_upload_size | |
| id | 1275476 |
| size | 109,849 |
(Extensible Data Notation)Stable minus 2 versions. Once stable (1.0.0), the plan is to indefinitely maintain the MSRV.
The following features are enabled by default. To disable use this crate without default features.
When using no_std, this crate relies on alloc. You must supply your own #[global_allocator].
Pulls in the dependency ordered-float for Edn::Double. Without this feature, parsing floating-point numbers will result in an Err.
The following features are not enabled by default. To enable them all, use with
clojure-reader = { features = ["full"] }
Enables implementation for serde's Serialize and Deserialize traits for convenient to/from rust structures.
See serde example for tips/tricks (eg you'll probably want kebab-case).
Note that EDN is more generic than rust, so this feature will silently pass over things that rust and serde cannot handle. For example
{:foo 42, 42 "bar"}
will pass over the k/v pair (42 "bar") and transform :foo to foo.
If you need complete control, it is recommended to use the base read and read_string.
See get-nth example for clojure-like navigation.
Enables parsing of arbitrary length/precision Ints and Decimals. Relies on bigdecimal and num-bigint crates.
See the pico example for a minimalistic example of using this crate with the raspberry pi pico (rp2040)