这个项目能做什么
Slate 是一种动态类型语言,使用缩进来定义结构,并配备渐进式类型检查器。它支持在真实事件循环上的 async/await、生成器、模块、模式匹配、类(而非原型)以及代数数据类型。Slate 专为 API 服务器设计,可处理 HTTP(通过 llhttp)、HTTP/2(通过 nghttp2)、TCP、TLS、文件系统操作、进程、正则表达式和 JSON。
该语言编译为 JavaScript,使得同一个程序可以在其解释器、Node.js、QuickJS 或使用 Lath 框架的浏览器中运行。`slate js` 命令会输出一个包含运行时和框架的独立 JavaScript 文件,从而无需使用打包工具和 node_modules。
渐进类型允许可选的注解;类型声明既用于模式匹配也用于运行时检查。其特性包括后缀 `match` 表达式、泛型以及返回 promise 的异步函数。API 服务器使用内置的路由和处理器系统。脚本支持 shebang 执行。
实现方面,Slate 使用栈机和追踪式垃圾回收(以处理闭包循环),其事件循环基于 libuv 构建。可通过 Homebrew 在 macOS Apple silicon 上使用;其他平台则需要通过源码构建。文档包含语言和库的参考指南。
值得注意的缺失项包括对文学编程的支持以及部分针对 JavaScript 后端的标准库模块。由于采用了垃圾回收机制,`defer` 语句被刻意排除。
评论
0 评分人数达到10人后显示
登录后参与讨论。