AGL:编译到 Go 的编程语言
使用 Go 语法、编译为 Go 代码的语言,函数只返回单值并支持错误传播与元组等特性。
AGL(AnotherGoLang)是一门编译到 Go 的语言,其词法/语法分析器 fork 自 Go 官方实现。主要差异:函数只返回单个值,配合 Option[T]、Result[T] 与 `?`/`!` 错误传播操作符;引入 Tuple 类型以方便返回多值;可用作脚本语言(支持 shebang)。特性包括 Tuple/Enum/Set、默认不可变变量与结构体、短匿名函数(参数映射为 $0/$1…)、数组内置 Map/Reduce/Filter 等方法、运算符重载、SourceMap,以及 VSCode 扩展与 LSP。数字类型为 int/i8…f64 等。README 还介绍了错误传播、match、guard、解构、模板字符串、扩展内置类型、assert/precondition 等用法,并可调用 Go 库。