2个版本
0.1.1 | 2023年3月3日 |
---|---|
0.1.0 | 2023年3月2日 |
#754 in 编程语言
310KB
8K SLoC
Diatom编程语言
一种用于嵌入式应用的动态类型脚本语言。该项目是成为“更好”的lua的又一次尝试。
警告:项目仍处于实验阶段,API被认为是不稳定的。
特性
- 不会崩溃*
- 高性能:运行速度最多比lua 5.4快2倍,比python 3.10快6倍
- 支持跟踪jit(计划中)
- rustc风格有助于的 错误信息
- 无全局变量
- 无
nil/None
值 - 有真正的整数类型
- 有 0索引的真正 列表 类型
- 支持 元组 用于多返回值
- 支持字符串索引 表
- 支持 元表 和 OOP风格的方法调用语法
- 支持渐进式类型(计划中)
- 支持宏系统(计划中)
*:外部函数仍可能触发崩溃
**: 结果来自我们的基准测试,不同构建和测试代码之间可能会有所不同。
快速入门
在线尝试Diatom
您可以在 在线沙盒 中尝试diatom。
使用cargo安装
请确保您已安装 Rust和Cargo。
cargo install diatom-cli
diatom-cli --help # show help for diatom CLI
diatom-cli # Enter diatom REPL console
从源代码构建
运行以下脚本
git clone https://github.com/diatom-lang/diatom.git
cd diatom
cargo run --release # Run interactive console
语法高亮
- Vim/Neovim插件: diatom.vim
参考 & 语法
参考书
Diatom参考(带示例)可在 此处 获取。
示例
对于标准库函数和内置类型和方法检查,请查看 示例。这些示例由单元测试检查。
在应用程序中嵌入
在Rust应用程序中嵌入
Diatom可在 crates.io 上找到,其中包含详细的示例。
要使用最新构建,请将此仓库添加到您的 Cargo.toml
。最新构建文档可在 此处 获取。
使用C绑定
进行中。
特性展示
函数式风格std库

漂亮的错误报告和回溯

基于表达式的语法

交互式REPL控制台,带有语法高亮

依赖项
~5-14MB
~150K SLoC