目录

moonbit-eetf

Erlang External Term Format(EETF)编解码(MoonBit 纯核):覆盖 Atom、 Integer、Float、List、Tuple、Map、Binary、PID、Port、Reference 十族项。 设计忠于 OTP26 ERTS external term format(external.h/c 真源)+真帧金罐 (strace 逐字节对拍);clean-room 重写,零源码拷贝。

核心包零依赖:纯编解码(无传输/无时钟/无随机), decode/encode 全函数式, 往返守恒律金罐守护(encode(decode(x))==x 规范形)。

包结构

包 内容
thy1016/moonbit-eetf EtfTerm 值域 + decode/encode 纯核(唯一包,极薄)

状态:0.0.1 骨架(阶段 1)。0.x 实验期,API 仍可能调整。

特性

  • 十族项覆盖:atom 四形归一(‘d’/‘v’/‘w’/‘s’)、int 两形(97/98)、 NEW_FLOAT(70)、tuple 两形(104/105)、list(108+106 nil)、binary(109)、 string(107)、map(116)、pid(‘X’)、port(NEW_PORT)、ref(‘Z’/‘r’ 双形)。
  • 规范形输出:atom→’w’(OTP26 主形)、float→’F’、ref→’Z’(creation u32) ——往返=规范形守恒。
  • 诚实拒:缺 magic/截断/未知 tag/improper list 全部显式 EtfError(Truncated/Malformed),零静默默认臂。
  • 真帧金罐:逐类型硬编码帧字节(OTP26 真形)+深嵌套往返守恒矩阵。

测试门

moon check --deny-warn && moon test --target native

演进位:gen 化(tag 词表 TOML 化→表驱动解码器,契约 〇)、’R’ cache ref attab 语境接线(dist 头语境)、improper list 支持(候选)、BIG 整数族 (110/111)。见 spec.md §五。

仓库

  • mooncakes 名: thy1016/moonbit-eetf
  • 仓库: git@gitlink.org.cn:thy7/mbt.eetf.git(master)
  • 孵化: bitbang 主仓孵化件独立入库(2026-11-06;孵化期零跨仓 import——组合根候 mooncakes 发版后 moon add 接线)
关于
85.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号