2个版本
0.2.1 | 2023年3月3日 |
---|---|
0.2.0 | 2023年3月2日 |
#901 在 编程语言 中
31KB
402 行
diatom编程语言
一种用于嵌入式应用的动态类型脚本语言。本项目是成为“更好的”lua的又一次尝试。
警告:项目仍处于实验阶段,API被认为是不稳定的。
特性
- 不会panic*
- 高性能:运行速度最多比lua 5.4快2倍,比python 3.10快6倍
- 支持追踪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
语法高亮
- Vim/Neovim插件:diatom.vim
参考 & 语法
参考书籍
diatom参考(带示例)可在此处找到。
示例
有关标准库函数和内置类型及方法的检查,请参阅示例。这些示例已通过单元测试进行验证。
在应用中嵌入
在Rust应用中嵌入
Diatom可在crates.io找到,其中包含详细的示例。
要使用最新构建,请将此仓库添加到您的Cargo.toml
。最新构建文档可在此处找到。
使用C绑定
正在进行中。
功能展示
功能式标准库

漂亮的错误报告和回溯

基于表达式的语法

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

依赖项
~12–24MB
~341K SLoC