2 个版本
使用旧的 Rust 2015
0.0.1 | 2017 年 8 月 31 日 |
---|---|
0.0.0 | 2017 年 8 月 8 日 |
#5 in #concatenative
33KB
824 行
rivet
一种受 Kitten 启发的简单组合式编程语言。
目标是成为 Rust 程序的嵌入语言,好像还不够用。
促使我想要做这件事的文档是 http://evincarofautumn.blogspot.com/2012/02/why-concatenative-programming-matters.html,但他们所有的东西都值得一读。
一个有趣的目标:允许嵌入此程序的程序能够指定 CPU 使用等硬限制,适用于运行不受信任的程序。尽管这也要求对编译器进行一定的关注,以便没有人可以通过提供病态的输入来使其拒绝服务。
当前状态
它 trivially turing-complete,但它也异常粗糙。实际上还没有准备好供公众使用。
待办事项
很快
- 移除 unwraps
- 更多数据类型?数组、结构体、数值库
- 更多函数元数据,函数类型?
- 更有用的解释器程序 -- 加载文件等。
- 更好的错误处理
不那么快
- 函数作为除 AST 之外的某些类型(字节码?线程代码?)
- 静态类型检查
- 模块系统??
- 更友好的定义/声明语法
- Prelude 模块
依赖关系
~7MB
~142K SLoC