3 个不稳定版本

0.3.0 2024年2月24日
0.2.2 2023年5月28日
0.2.1 2023年5月26日

#351 in 编程语言

Download history 8/week @ 2024-03-08 3/week @ 2024-03-15 40/week @ 2024-03-29 11/week @ 2024-04-05

每月下载量 56 次

GPL-3.0 许可证

510KB
11K SLoC

logo Orchid

一个实验性的懒加载、纯函数式编程语言,设计用于嵌入 Rust 应用程序中进行脚本编写。

使用方法

独立的解释器可以作为此包的二进制目标构建。语言教程和标准库文档在 www.lbfalvy.com/orchid-reference。嵌入器指南和 Rust API 文档即将推出。

设计

执行模型是λ-演算,具有按名调用和复制跟踪来避免重复步骤。这导致必要的简化步骤最少。

为了使语法更直观,可以使用完全卫生的宏,这些宏在所有导入解析完毕并且宏和引用表达式中所有标记都已命名空间化之后应用于表达式。

命名空间灵感来源于 Rust 模块和 ES6。每个文件和目录都是隐式公开的模块。文件可以 export 常量或命名空间的名称、替换规则中的所有名称或显式导出某些名称。名称在引用时隐式创建。 import 语法与 Rust 类似,除了有 ( 括号 ) 和没有分号。

试试看

该项目使用夜间 rust 工具链。进入 examples 中的一个文件夹并运行

cargo run --release

你可以尝试修改示例,但当前的错误报告相当糟糕。

名称

兰花和红树林形成复杂的生态系统;花朵说服树木以不同于正常的方式生长,以更好地支持它们的藤蔓,并杀死真菌和其他害虫。这个隐喻是关于藤蔓在树上生长并将树枝移动到更优位置以供其他藤蔓。

贡献

所有贡献都受欢迎。目前,请使用问题跟踪器来讨论想法。

依赖项

~11–20MB
~260K SLoC