reify-reflect
Unified reification and reflection ecosystem for Rust.
Crates
| Crate | Description |
|---|---|
reify-reflect-core |
Reflect trait, reify function, Reified token, RuntimeValue enum |
reflect-nat |
Type-level naturals (Z/S<N>), booleans, HLists, optional frunk/typenum bridges |
reflect-derive |
#[derive(Reflect)] proc macro |
reify-graph |
Rc<RefCell<T>> and Arc<Mutex<T>> graph reification and reconstruction |
context-trait |
Runtime-synthesized trait instances (Ord, Hash, Display) |
async-reify |
Async computation step graph extraction |
async-reify-macros |
#[trace_async] attribute proc macro for async-reify |
const-reify |
Runtime-to-const-generic dispatch via match-table |
const-reify-derive |
#[reifiable] proc macro that generates const-generic dispatch tables |
Quick Start
use ;
use ;
type Three = ;
assert_eq!;
Derive Reflect for structs
use Reflect;
use ;
Reify pointer graphs
use ;
Custom trait instances
use ;
with_ord!;
Trace async workflows
use ;
let = run.await;
let graph = reify_execution;
println!;
Runtime-to-const-generic dispatch
use ;
let result = reify_const;
assert_eq!;
Features
| Feature | Default | Description |
|---|---|---|
serde |
yes | Serialization for reify-graph and async-reify |
const-reify |
no | Runtime-to-const-generic dispatch (adds compile time) |
full |
no | All features |
Documentation
cargo doc --features full --no-deps --open- Design docs in
docs/, one per phase
Benchmarks
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)
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.