# marigold
[](https://crates.io/crates/marigold)
[](https://docs.rs/marigold)
[](https://github.com/DominicBurkart/marigold/actions/workflows/tests.yaml)
[](https://github.com/DominicBurkart/marigold/actions/workflows/pre-commit.yaml)
[](https://github.com/DominicBurkart/marigold/actions/workflows/wasm.yaml)
[](https://github.com/DominicBurkart/marigold)
(WIP) Marigold is a domain-specific language for data pipelining and analysis.
Marigold compiles to asynchronous Rust, and can be accessed in a macro:
```rust
use marigold::m;
let is_odd = |i: &i32| i % 2 == 1;
let odd_digits = m!(
range(0, 10)
.filter(is_odd)
.to_vec()
.return
).await;
println!("{:?}", odd_digits); // [1, 3, 5, 7, 9]
```