对象持久化与更简单的输入输出!— 灵动学院

主要观点:Spritely Goblins 发布 0.13.0 版本,包含对象持久化和更易读写的 IO 两大新功能。
关键信息

  • 发布了分布式编程环境 Spritely Goblins 0.13.0 版本,适用于 Guile 上的 Goblins。
  • 新的对象持久化机制“aurie”可保存运行中的 Goblins 程序部分并稍后唤醒,能升级保存的对象,还利于实时黑客操作。
  • 举例说明在 Terminal Phase 游戏中利用持久化系统让玩家可继续上次的游戏状态。
  • Goblins 的持久化系统采用“手动持久化”方式,仅保存需要的信息,且每个持久化对象都有版本标记。
  • 简单的“cell”演员通过将define改为define-actor可转换为持久化兼容的细胞。
  • 持久化系统利用 Goblins 的事务性,仅序列化事件循环中处理的消息之间已更改对象的增量。
  • 引入新的^io演员,简化了 Goblins 的 IO 系统,可包装保护的 IO 资源。
  • 包含其他 bug 修复和小功能,可通过 Guix 获取最新版本。
  • 持久化系统有较长历史,其前身是独立的 Racket 版本库,经过 Jessica Tallon 改进,借鉴了相关理念。
  • 展望未来 0.14 版本将专注于网络工具改进和生活质量提升。
    重要细节
  • 发布的版本没有 OCapN 功能的主要协议更新,也没有伴随 Racket Goblins 的发布。
  • 持久化系统在不同 Lisp 和 Smalltalk 常见的持久化系统基础上有不同,不会保存过多不必要信息。
  • define-actor宏简化了编写大多数持久化对象的过程。
  • Goblins 的序列化系统遵循能力安全属性,对象不能描述超出自身访问权限的信息。
  • 获取最新 Guile Goblins 版本可使用guix pullguix install guile-goblins命令,也可参考 README 了解更多获取方式。
  • 社区地址为community.spritely.institute
阅读 251
0 条评论