Gren 25S:更轻松的互操作性、并发任务和零安装包

主要观点:发布了 Gren 编程语言的新版本 25S,包含多项改进,包括任务端口简化与 JavaScript 的互操作、任务可并发执行、零安装包管理、新增“gren run”命令等。
关键信息

  • 25S 包含的软件:compiler v0.6.0、gren-lang/core v7.0.0、gren-lang/browser v6.0.0、gren-lang/node v6.0.0。
  • 任务端口可减少代码量,解决部分问题,需以异步函数或返回 promise 的形式在 JavaScript 端实现。
  • 可使用 Task.map2 等函数使任务并发执行,Task.sequence 可顺序执行任务。
  • 编译项目时编译器会将依赖存储在“gren_packages”文件夹,可提交至版本控制。
  • 新增“gren run”命令可编译并执行应用,还可执行包中的辅助应用。
  • 有多项 misc. 变化,如新增“gren path”命令等。
  • 接下来的目标是在 12 月发布 25W 版本,重写语言解析器等。
    重要细节
  • 定义任务端口:port saveToDB : String -> Task Json.Decode.Value Int
  • JavaScript 中实现任务端口:Gren.Main.init({ taskPorts: { myTaskPort: async function(str) { return str.length; } } })
  • 并发不是并行,使用 Task.map2 进行不同操作性能不同。
  • 重写包管理器,零安装包管理功能由 Gren 编写,部分功能在compiler-node包中。
  • 可通过“gren run --package=xyz/cool-framework Setup”执行包的初始化器。
  • 多人对项目做出贡献,如 Andrew MacMurray 等。
  • 可通过赞助或购买商品支持项目,也可通过多种方式参与贡献,如加入 Discord 等。
阅读 13
0 条评论