又到了每周的 Hulo 更新时刻!
这次 v0.3.0 的更新,让 Hulo 从一个"简单的转译器"进化成了"具有编译期求值能力的现代编程语言"。
听起来很酷对吧?让我来告诉你这次到底更新了什么。
🚀 本周重磅更新
1. 全平台转译器正式完成!
是的,你没看错!Hulo 现在支持四大平台的脚本转译了:
- ✅ VBScript (.vbs) - Windows 经典脚本
- ✅ Bash (.sh) - Linux/macOS Shell 脚本
- ✅ Batch (.bat/.cmd) - Windows 批处理脚本
- ✅ PowerShell (.ps1) - Windows 现代脚本
这意味着你可以用同一套现代语法,生成所有主流平台的脚本!
目前支持基础语句转换,更多高级特性正在开发中
2. 编译期求值系统 - comptime
来了!
这是本次更新的最大亮点!Hulo 现在支持编译期求值,可以在编译时执行代码并基于结果生成不同的 AST。
来看几个实际例子:
编译期计算
hulo
let a = comptime {
let sum = 0
loop $i := 0; $i < 10; $i++ {
echo $i;
$sum += $i;
}
return $sum
}
// 编译期计算的结果:a = 45
echo $a
条件编译
hulo
comptime when $TARGET == "powershell" {
Write-Host "Hello, PowerShell"
} else when $TARGET == "batch" {
echo "Hello, Batch"
} else when $TARGET == "bash" {
echo "Hello, Bash"
} else when $TARGET == "vbs" {
MsgBox "Hello, VBScript"
}
生成的 PowerShell 代码:
powershell
Write-Host "Hello, PowerShell"
生成的 Batch 代码:
batch
echo "Hello, Batch"
生成的 Bash 代码:
bash
echo "Hello, Bash"
生成的 VBScript 代码:
vb
MsgBox "Hello, VBScript"
🔧 技术架构升级
编译期求值引擎
新的 comptime
系统提供了:
- 运行时求值 - 在编译期执行代码
- AST 转换 - 基于计算结果修改语法树
- 动态代码生成 - 根据条件生成不同代码
🚧 下一步计划
- 模块系统 - 支持第三方库导入(跳票到 v0.4.0)
- 命令体操 - 更智能的跨平台命令适配
- 包发布系统 - 让社区能分享和复用代码
- 语言服务器 - 更好的 IDE 支持
💭 写在最后
这次更新让 Hulo 从一个简单的转译器,变成了一个具有编译期求值能力 的现代编程语言。comptime
系统的加入,为 Hulo 带来了无限的可能性。
虽然模块系统跳票了,但技术栈更加完整和强大。相信在 v0.4.0 中,模块系统会以更优雅的方式呈现给大家。
项目地址:github.com/hulo-lang/h...
如果你觉得这个项目有意思,欢迎在 GitHub 提 issue 或参与讨论!给个 Star 支持一下,让更多人看到这个项目。
你觉得这种"编译期求值 + 多平台转译"的方式怎么样?有什么建议或想法吗?