蛛丝:一种具有真实协程和无暂停内存的Rust风格语言
为什么选择Gossamer 表达性和清晰的语法 前向管道 ( |> ),默认不可变,并且有一种明显的做事方式。 数据从上到下流动,按照你写的方式,而不是嵌套的内部到外部。 自动内存,无垃圾回收暂停 确定性的引用计数加上区域 { },在完成后立即回收内存。没有借用检查器,没有生命周期,没有全球暂停的收集器。 真实的协程,无色函数和类型通道在M:N调度器上。 阻塞调用将协程停放,而不是线程。 没有异步,没有等待,没有函数着色。 执行它或发布它 一个字节码虚拟机和一个REPL用于快速迭代;使用LLVM发送时,无依赖的本地二进制文件。相同的语言,您选择的层次。 熟悉的类型,减少惊讶 结果 / 选项 / ? ,详尽匹配,特征,泛型,并且没有空值。如果你知道Rust、Go或F#,你已经可以阅读它。 电池包括,Rust中可扩展 一个广泛的标准库 - HTTP、JSON、加密、SQL、压缩等 - 以及在需要时安全降级进入Rust的干净路径。 见它只需几行 在任何示例上点击运行 - 它直接在您的浏览器中执行,无需安装。Gossamer的虚拟机已编译为WebAssembly。 fn double(x: i64) -> i64 { x * 2 } fn add(a: i64, b: i64) -> i64 { a + b } fn clamp(lo: i64, hi: i64, x: i64) -> i64 { if x < lo { lo } else if x > hi { hi } else { x } } fn main() { let n = 3 |> double |> add(10) |> clamp(0, 100) println!("回答: {}", n) } 来自其他语言? 简短而集中的指南,映射您已知的内容到Gossamer。 开始 编写一个 .gos 文件,并使用 gos 工具链运行它 - 在您迭代时无需构建步骤: $ gos run hello.gos hello, gossamer $ gos build --release hello.gos # 一个本地二进制文件,准备发布 在Linux (x86_64, aarch64, armv7)、macOS (Intel和Apple Silicon)和Windows (x86_64)上运行。 安装 → 阅读文档
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡