百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
P

piccolo

> 编程语言
开源

一个在纯 Rust 中实现的无堆栈 Lua VM

2.1K stars0 点赞1 次浏览
访问官网GitHub

工具介绍

一个在纯 Rust 中实现的无堆栈 Lua VM

piccolo - 一个在纯 Rust 中实现的实验性无堆栈 Lua VM

项目目标,大致按降序排列: * 成为一个可行且有用的 Lua 解释器。 * 成为一种方便地将不受信任的 Lua 脚本放在沙箱中的方法。 * 对于来自不受信任脚本的 DoS 具有抵御能力(脚本不应能够导致解释器陷入慌乱或使用无限量的内存,并且应保证在某个有限时间内将控制权返回给调用者)。 * 成为一种将 Rust API 安全地绑定到 Lua 的方便方法,其绑定系统具有抵御异常和边缘情况的能力,并且具有能够安全地参与运行时垃圾收集的用户类型。 * 与 PUC-Rio Lua 的某个版本保持实用兼容。 * 不要过于缓慢(例如,避免那些会使解释器比 PUC-Rio Lua 更慢的抽象)。

您可以在 此博客文章 中阅读更多关于 piccolo 的设计(并尝试在实时 REPL 中使用它!)。piccolo 仍然是一个非常实验性的项目,预期在 1.0 之前会经常出现 API 问题。所有不兼容的 API 变更都会伴随着版本升级,但这些变更将非常普遍。

当前不安全的主要来源: * Lua 表的特别奇怪的要求需要使用 hashbrown 的低级 RawTable API。 * Userdata 需要不安全性,以允许使用安全接口对非"静态 userdata"进行下转换。 * 异步 Sequence 的实现需要不安全性,以将正常 Sequence 方法参数"隧道"到未来(这完全隐藏在安全接口后面)。 * 为了避免大型指针,需要不安全代码。

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Rust

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言