89 个版本 (48 个破坏性更改)

使用旧 Rust 2015

0.49.1 2023 年 9 月 10 日
0.48.1 2022 年 12 月 14 日
0.47.3 2022 年 3 月 20 日
0.46.0 2021 年 4 月 10 日
0.3.0 2016 年 3 月 19 日

#41游戏开发

Download history 6/week @ 2024-04-21 3/week @ 2024-04-28 5/week @ 2024-05-19 1/week @ 2024-06-09 153/week @ 2024-06-30 33/week @ 2024-07-21 216/week @ 2024-07-28

每月 249 次下载
用于 2 包

MIT/Apache

1MB
20K SLoC

迪昂

一种 Rust 动态类型脚本语言

fn main() {
    println("hello world!")
}

教程
迪昂-交互式
迪昂代码片段
/r/dyon

迪昂脚本文件以 .dyon 结尾。

要安装迪昂 REPL,请输入

cargo install --example dyon dyon

然后,要运行迪昂 REPL,请输入

dyon

要从命令行运行迪昂脚本文件,请输入

cargo install --example dyonrun dyon

然后,要运行脚本文件,请输入

dyonrun <file.dyon>

编辑器插件

迪昂 for Atom
迪昂 for Vim
迪昂 for Visual Studio Code

coding

功能列表

为什么叫 Dyon?

Dyon 是由物理学中几个大统一理论预测的一种假设粒子,它具有电和磁电荷。更多信息请见这个 维基百科文章

Dyon 这个名字很适合,因为就像这个粒子一样,在语言设计方面还有许多东西尚未被发现。然而,这种语言并非源于一个宏伟的新愿景,而是通过探索和测试新想法的结果。

动机和目标

Sven Nilsen 于 2016 年初开始了这个项目。想法是创建一种简单但方便的脚本语言,该语言与 Rust 集成良好。

  • 在编码的第一周,发现了一种在函数参数上进行生命周期检查的方法
  • 通过添加动态加载模块的能力,探索了不同的代码组织方法
  • 为了良好的错误处理,添加了选项、结果和 ? 操作符
  • 为了测试语言的设计,创建了一个交互式编码的演示
  • 可变性检查以提高可读性
  • 短 For 循环以提高可读性和性能
  • 使用数学循环和Unicode符号来提高可读性
  • 使用类似Go的协程来添加多线程支持
  • 4D向量,带有解包和洗牌操作,使2D和3D编程更容易
  • HTML十六进制颜色,使得从图像编辑器复制颜色成为可能
  • 可选类型系统,有助于项目扩展
  • 临时类型,增加类型安全性
  • 当前对象,提高原型设计和定制环境
  • 宏,使Rust嵌入更简单
  • 从数学循环自动推导意义
  • 可打印的闭包,使用当前对象和从闭包环境获取
  • 对秘密的类型安全性,Dyon数据的加载/保存简单
  • 链接循环,简化代码生成和模板
  • 内类型,简化跨线程通信
  • 延迟不变性、简单细化类型和二元运算符重载

主要目标

  • 与Rust良好集成
  • 灵活的代码组织方式

性能将针对循环进行优化

coding -> parsing -> running -> debugging -> coding

子目标

  • 安全性

非目标

  • Rust等效性能
  • 用Rust构建库
  • 与Rust以外的语言接口

许可证

许可方式为以下之一

贡献

除非您明确声明,否则您提交的任何有意包含在作品中的贡献都应按照上述方式双重许可,不附加任何额外条款或条件。

依赖关系

~0.4–3.5MB
~78K SLoC