23 个版本 (5 个重大更新)

0.6.0-alpha.12023年3月3日
0.6.0-alpha2023年3月2日
0.5.2 2023年2月21日
0.4.9 2023年2月19日
0.1.0 2022年11月5日

#385编程语言

Download history 5/week @ 2024-03-18 90/week @ 2024-04-01 1/week @ 2024-04-22 3/week @ 2024-06-03

每月79次下载
diatom-cli 中使用

Apache-2.0

335KB
9K SLoC

Diatom 编程语言

Unit Tests doc Crates.io license

dependency status issue pr coverage

适用于嵌入式应用的动态类型脚本语言。该项目是成为“更好”的 lua 的又一次尝试。

警告:项目仍处于实验阶段,API 被视为不稳定。

特性

  • 不会 panic*
  • 高性能:运行速度最多比 lua 5.4 快 2x,比 python 3.10 快 6x
  • 支持跟踪 jit(计划中)
  • rustc 风格 有用的 错误消息
  • 没有全局变量
  • 没有 nil/None
  • 具有真实整数类型
  • 具有 0 索引 的真实 列表 类型
  • 支持 元组 以进行多返回
  • 支持字符串索引
  • 支持 元表OOP 风格方法调用语法
  • 支持渐进式类型(计划中)
  • 支持宏系统(计划中)

*:外部函数仍可能触发 panic
**: 结果来自我们的基准测试,可能因不同构建和测试代码而异。

快速入门

在线尝试 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

语法高亮

参考 & 语法

参考书籍

Diatom 参考(带示例)可在 此处 获取。

示例

对于标准库函数和内置类型和方法检查 示例。这些示例由单元测试检查。

在应用程序中嵌入

在 Rust 应用程序中嵌入

Diatom 在 crates.io 上可用,带有详细的示例。

要使用最新构建,请将此仓库添加到您的 Cargo.toml。最新构建文档可在 此处 获取。

使用 C 绑定

正在进行中。

特性展示

功能风格 std 库

Screenshot 2023-02-19 at 10 23 38 PM

美观的错误报告和回溯

Screenshot 2023-02-19 at 10 00 53 PM

基于表达式的语法

Screenshot 2023-02-19 at 10 25 16 PM

具有 语法高亮 的交互式 REPL 控制台

Screenshot 2023-02-19 at 10 26 39 PM

依赖项

~4–13MB
~136K SLoC