Skip to content

Auto语言发布v0.3版 ​

rust
fn main() {
    let list = List<int>.new();
    list.push(1);
    list.push(2);
    list.map(|x| x * 2).print();
}

Auto语言发布v0.3版啦!

v0.3是Auto语言的重要里程碑版本,包含 1172个commit,跨越类型系统、编译器架构、UI生成系统、工具链和并发框架等多个主要领域。

下面是AutoLang相关的仓库:

Auto语言的语法概览和应用场景,可以参考仓库的README页面。

欢迎大家关注。

版本内容 ​

v0.3版在v0.2的基础上,实现了大量核心语言特性,完成了编译器架构的重大升级。

核心语言特性 ​

  1. 泛型编程系统(Plan 047, 057, 058, 059, 062, 067, 076):

    • 泛型类型实例化和单态化
    • 泛型spec带类型替换
    • 类型别名语法
    • 泛型字段支持
    • Rust transpiler泛型支持
    • BigVM泛型类型擦除和特化
  2. Optional/Result类型(Plan 026, 049, 120):

    • ?T → Option&lt;T&gt;(值可能不存在)
    • !T → Result&lt;T, E&gt;(操作可能失败)
    • ??和?.操作符
  3. 借用检查系统(Plan 023, 026, 034, 038):

    • 所有权优先实现
    • 属性关键字:.view、.mut、.take
    • 借用表达式:hold、view、mut、take
    • str_slice类型
  4. 动态集合类型(Plan 040, 042, 043, 051, 052):

    • List&lt;T&gt;动态数组类型
    • DStr动态字符串
    • Slice&lt;T&gt;切片类型
    • 迭代器系统:map、filter、reduce、collect
    • 存储抽象:List&lt;T, Storage&gt;(Heap/InlineInt63)
  5. OOP系统:

    • ext语句用于多平台类型扩展(Plan 034, 044)
    • VM方法调用表达式(Plan 037, 025)
    • 字符串方法库
  6. 闭包系统(Plan 057, 061, 071):

    • 闭包语法和变量捕获
    • #[with(...)]语法
    • BigVM闭包支持

编译器架构 ​

  1. Auto Incremental Engine(AIE)(Plan 062, 064, 065):

    • 编译时与运行时分离
    • Database持久化
    • QueryEngine智能缓存
    • 熔断机制
    • 增量transpilation
  2. BigVM迁移(Plan 067, 069, 070, 071, 073, 076, 087):

    • 全局变量支持
    • 迭代器系统
    • 闭包环境加载
    • 泛型类型支持
    • 测试迁移
  3. 注解系统:

    • Rust风格注解:#[c]、#[vm]、#[pub]、#[primary]
    • 函数和类型注解

UI生成系统 ​

  1. AURA Widget系统(Plan 139, 143):

    • 59+ shadcn-vue组件
    • WidgetRegistry统一组件查找
    • 组件分类:layout、form、display、navigation、overlay、feedback
  2. 多后端支持:

    • Vue生成器(Plan 098, 104, 135):shadcn-vue组件生成、Tailwind CSS支持、增量编译缓存
    • Jetpack Compose(a1jet)(Plan 113, 133, 134, 136, 145):Material2组件映射、Form/Layout/List/Navigation生成、完整项目生成
    • ArkTS/HarmonyOS(a1ark)(Plan 137, 138, 142):ArkTS代码生成、@Component/@State/@Prop装饰器、Tabs模式支持、生命周期支持
    • Tauri桌面应用(Plan 150):Tauri IPC模式、a1r全局状态支持
  3. 工作区和场景(Plan 128, 130):

    • pac.at工作区配置
    • 多前端支持
    • 统一后端输出

标准库和工具链 ​

  1. IO和文件系统(Plan 017, 036):

    • File.read_all()、File.write_lines()、File.read_line()、File.flush()
    • C FFI支持和CStr类型
    • 标准库文件组织
  2. 字符串操作(Plan 024):

    • split()、lines()、words()等方法
  3. AutoMan项目管理(Plan 077, 079, 093):

    • 统一项目生成
    • 多后端构建支持
    • Rust后端集成
    • pac和super前缀模块系统(Plan 130, 074)
    • 多目录搜索
  4. ASH(Auto Shell)(Plan 016, 047):

    • 结构化命令输出
    • 管道和值操作
    • 系统命令:ps、sys
    • 文件操作:cp、mv、rm、mkdir
  5. API代码生成(Plan 131):

    • TypeScript客户端生成
    • Rust服务器生成
    • CORS支持

并发和异步 ​

  1. AutoVM Task/Msg(Plan 068, 121, 127):

    • 异步并发框架
    • 任务生成和消息传递
    • 调度器守护进程
  2. 微并发(Plan 125):

    • .go后缀操作符
    • ~T异步类型语法

开发体验 ​

  1. 错误系统(Plan 007, 009, 120):

    • miette集成
    • 源码片段显示
    • 类型错误Option/Result
  2. IDE支持:

    • LSP基础架构

测试和文档 ​

  1. BigVM测试迁移(Plan 038, 073, 085):

    • 550+测试通过
    • Category A-D迁移
  2. 设计文档:

    • 151个计划文档(Plans 001-151)
    • 实现总结和架构文档

从v0.2的主要变化 ​

新增功能 ​

  1. 泛型编程系统 — 完整的泛型支持
  2. 多后端UI生成 — Vue、Jetpack Compose、ArkTS、Tauri
  3. 增量编译 — AIE架构
  4. Widget库 — 60+组件
  5. 异步任务系统 — Task/Msg框架

重大改进 ​

  1. BigVM — 替代AutoVM作为默认VM
  2. 借用检查 — 所有权系统
  3. 模块系统 — pac/super前缀
  4. Shell — 结构化命令
  5. 工具链 — AutoMan统一管理

未来规划 ​

v0.4版计划增加以下功能:

  • [ ] 模式匹配系统完善
  • [ ] async/await语法
  • [ ] Python/JavaScript transpiler完善

Auto语言正在快速成长,感谢每一位贡献者的付出。让我们一起迈向v0.4!

基于 MIT 许可发布。