大家好,我最近把自己做的一门系统脚本语言 HHY 整理到了可以直接安装和运行的状态,想分享一下它为什么存在,以及目前真正做到了什么。
项目地址: https://github.com/hh696-wq/hhy-vm
5 分钟 Quick Start: https://hhylang.dev/zh/learn/quick-start
我写系统自动化时,经常重复处理同一种流程:发现文件或 URL 、转换结构化记录、限制并发,最后执行文件、进程或网络操作。
Shell 很适合组合进程,但进入 JSON 、HTTP 、重试和并发后,数据与错误边界容易变得分散; Python 完全可以完成这些工作,不过我想试验一件事:把 Pipeline 、资源限制和副作用计划做成语言与 Runtime 的统一契约,而不是依靠不同库约定。
HHY 的核心表达一直是:
source |> transform |> filter |> action
例如:
path("./logs")
|> files("**/*.log")
|> flat_map { file -> read_lines(file.path) }
|> where { line -> contains(line, "ERROR") }
|> take(20)
|> print
它不是自然语言或 AI 包装层,源码有确定的 grammar 、类型规则、执行语义和退出码。
check、fmt、脱敏 dry-run 和 profiler ;扩展不是直接加载不稳定的 Native ABI 。Runtime 会验证 manifest 和 SHA-256 ,在最小环境中启动独立进程,再通过 stdin/stdout 完成 handshake 、call 和结构化错误交换。这样有序列化成本,但崩溃、权限和协议边界更明确。
HTML 扩展现在不只是“并发请求一组 URL”。它已经形成一个可以安全递归运行的最小闭环:
基于这些能力,我写了 SiteGraph Auditor:递归盘点文档站、构建规范化链接图,并把结构和内容质量变成稳定退出码。项目自测会启动确定性 fixture ,同时覆盖健康站点、404 、重复链接、越界路径和 SSRF 负向用例。
SiteGraph 项目: https://github.com/hh696-wq/hhy-vm/tree/main/practical-projects/sitegraph-auditor
curl -fsSL https://hhylang.dev/install.sh | sh
export PATH="$HOME/.local/bin:$PATH"
hhy --version
安装器会识别平台、读取最新稳定 Release 、下载对应的 .sha256,校验通过后才切换版本,默认不需要 sudo 。
目前还是早期项目:Runtime 是 AST 解释器和 conservative GC ,没有 JIT ; HTTP body 是有界缓冲而不是 streaming body ;不支持 Windows 和 Intel Mac ;第三方扩展暂时只能交换有界 JSON-like values ,还没有 Stream credit 和 opaque handle 。我也没有宣称它比 Python 更快,或者应该替代通用语言。
我现在最想听到的不是“支持”,而是具体批评:
项目采用 Apache-2.0 ,源码、规范、Release 、测试和已知限制都在仓库中。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.