1 个不稳定版本
0.0.0 | 2021年3月15日 |
---|
#67 in #focus
190KB
4K SLoC
seaslug
小巧、美观、易于理解,目前还不存在 LOL
- 非图灵完备,将可验证的终止代码放置到类似Erlang行为的良好定义的接口中
- 强类型,强大的推断以最小化类型噪声
- 一个从开始就旨在利用io_uring、不可变消息传递、乐观STM,并且通常关注现代调度研究的运行时
- 运行时跟踪总体利用率和饱和度
- 旨在最大化利用率同时最小化饱和度(对于套接字,先写后读再接受)
- 推断出在乐观状态层中遇到的内容争用因果关系,并学习成为流量控制器,使用户避免思考争用
- 依赖于线性逻辑来在良好指定的层次结构中强制执行错误处理,类似于Erlang管理器
- 以解释器优先,但解释器本身旨在快速编译,以便您可以生成静态优化的本地二进制文件
- 内置一级故障注入、模糊测试、网络模拟、基于模型的测试和并发交错探索
- 丰富的内置数据结构、一流的JSON支持、一流的二进制解析支持
seaslug 应该是一种构建的理想语言
- 数据库
- 分布式系统
- 服务器
- 可扩展并发系统
- 多租户基础设施
seaslug 并不旨在擅长
- 构建自己的数据结构
- 密集型数值处理
- 短生命周期的CLI应用程序
- 嵌入式编程
可能或可能不导致seaslug的想法
- Erlang的简洁、行为、关注不可变消息传递、显式的管理器层次结构、模式匹配、二进制解析能力
- Celf的非确定性、线性逻辑
- 约束处理规则的验证机会
- Prolog的声明性调试、表、纯代码的可证明性
- 总函数编程对递归和循环的限制
seaslug是用Rust编写的,并利用了诸如
- io_uring
- simdjson
- sled
- 软件事务内存
依赖项
~2.1–4.5MB
~73K SLoC