2个版本
0.1.1 | 2023年3月3日 |
---|---|
0.1.0 | 2023年3月2日 |
#459 in 编程语言
320KB
9K SLoC
硅藻编程语言
一种用于嵌入式应用的动态类型脚本语言。本项目是成为“更好”的lua的又一次尝试。
警告:项目仍处于实验阶段,API被认为是不稳定的。
功能
- 永不panic*
- 高性能:运行速度最多比lua 5.4快2倍,比python 3.10快6倍
- 支持跟踪jit(计划中)
- rustc风格有用的错误信息
- 没有全局变量
- 没有
nil/None
值 - 有真正的整数类型
- 有0索引的真正列表类型
- 支持用于多返回值的元组
- 支持字符串索引的表
- 支持元表和面向对象风格的调用语法
- 支持渐进式类型(计划中)
- 支持宏系统(计划中)
*:外部函数可能仍然会触发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
参考 & 语法
参考书
硅藻参考(带示例)可在此处找到。
示例
有关标准库函数和内置类型和方法的检查,请参阅示例。这些示例由单元测试检查。
在应用程序中嵌入
在Rust应用程序中嵌入
Diatom可在crates.io上找到,其中包含详细的示例。
要使用最新构建,请将此仓库添加到您的Cargo.toml
。最新构建文档可在此处找到。
使用C绑定
进行中。
功能展示
函数式风格的std库
优雅的错误报告和回溯
基于表达式的语法
交互式REPL控制台,具有语法高亮
依赖项
~4–13MB
~132K SLoC