#language #scheduling #high #focus #quality #testability #terseness

bin+lib puke

一种注重简洁性、可测试性、高质量调度和基于完成情况的 I/O 的实验性语言

1 个不稳定版本

0.0.0 2021 年 3 月 13 日

#44#quality

GPL-2.0 许可证

4KB

puke

一种既快乐又渴望在许多方面表现出色,以实现低模板、低噪音、高度可靠、高性能状态机的语言,强制执行严格错误处理和内置故障注入。

puke 可能会成为一个鼓励用户编写他人可使用且对自己尊重的代码的语言,通过提供比当前工业语言通常可用的更优越的调度和并发设施。

puke 应该是构建以下内容的理想语言
  • 数据库
  • 分布式系统
  • 多租户基础设施
puke 旨在不擅长
  • 构建自己的数据结构
  • 密集的数值处理
  • 短期 CLI 应用程序
  • 嵌入式编程
可能或可能不会导致 puke 的想法
  • erlang 的简洁性、对不可变消息传递的关注、显式的监督器层次结构、模式匹配
  • celf 的非确定性、线性逻辑
  • prolog 的声明性调试、表格、纯代码的可证明性
  • 总函数编程
  • unison 的效果系统
  • rust 的受限线性类型
puke 应该擅长
  • 可测试性
    • 内置网络模拟、故障点、并发交错探索、基于模型的测试支持
  • 乐观并发
    • 通过乐观软件事务内存调节的共享可变状态,让用户避免思考数据竞争
  • 调度
    • 运行时跟踪总体利用率和饱和度
    • 旨在最大化利用率同时最小化饱和度(对于套接字,写入先于读取先于接受)
    • 推断在乐观状态层中遇到的竞争因果关系,并学会作为交通指挥员介入,让用户避免思考竞争
  • 丰富的内置数据结构、一流的 JSON 支持、一流的二进制解析支持
puke 使用 Rust 编写并利用了诸如
  • io_uring
  • simdjson
  • sled
  • 软件事务内存
puke 将有一个俗气的名字,直到它变得不那么俗气

无运行时依赖