2 分•作者: dhamidi•6 个月前
嘿,HN!
第一次在这里展示我的作品,但我在假期里一直在疯狂地开发 Feather,这是一个从头开始重新实现的 TCL,专为嵌入现代应用程序而设计。
它最初是忠实地重新实现了 TCL,但**没有** I/O、OOP 特性和协程。
TCL 在我心中有着特殊的地位,因为它的语法对于交互式使用和定义特定领域的语言来说非常优雅。
我的动机是双重的:为 AI 提供更快的反馈循环,以及为用户提供可塑性软件。
事实证明,让 AI 代理访问程序的运行时状态可以实现非常快的反馈循环,但在一个为每个平台发布二进制文件已成为常态的世界中嵌入现有选项却很棘手。
嵌入真正的 TCL 也很棘手,因为它自带一个事件循环(在 2025 年,你已经有一个了),一个 GUI 框架(你已经有一个 Web 框架了,或者在移动设备上开发),并且可以访问文件系统(别忘了删除所有具有文件系统访问权限的命令!)。
Feather 只是没有这些——只暴露你应用程序中需要的东西。
它开箱即用地支持 WASM 构建,大小约为 120kb,加上 70kb 用于将其连接到浏览器或 node.js。
如果嵌入变得容易,你就可以在任何地方放置一个 REPL:在移动应用程序中、在桌面软件中、作为 Web 服务器的控制平面。
我想象一个世界,所有的软件都像 Emacs 和 nvim 一样可编写脚本,由代理来完成实际工作。