14 个版本

0.1.16 2022年12月3日
0.1.15 2022年12月3日
0.1.14 2022年11月26日
0.1.12 2022年10月16日
0.1.0 2022年3月8日

#266编程语言

40 每月下载量

Apache-2.0 OR MIT

68KB
1.5K SLoC

金盏花

crates.io docs.rs website lines of code contributors bench tests style wasm last commit

金盏花是一种用于使用异步流进行数据处理和分析的命令式领域特定语言。它可以作为一个独立的语言或嵌入到 Rust 程序中使用。

use marigold::m;

let odd_digits = m!(
  fn is_odd(i: &i32) -> bool {
    i.wrapping_rem(2) == 1
  }

  range(0, 10)
    .filter(is_odd)
    .return
).await.collect::<Vec<_>>();

println!("{:?}", odd_digits); // [1, 3, 5, 7, 9]

运行时

默认情况下,金盏花在一个未来中工作,可以与任何运行时一起工作。

tokioasync-std 功能允许金盏花生成额外的任务,为多线程运行时提供并行性。

金盏花支持异步跟踪,例如使用 tokio-console。

平台

金盏花的 CI 构建针对 aarch64、arm、WASM 和 x86 目标,并在 mac 和 windows 环境中构建 x86 目标。

依赖项

~5–16MB
~209K SLoC