Codong v0.1.3 发布
Codong v0.1.3 完成了语言核心特性与全部标准库模块的补全,并引入编译缓存机制,使重复执行速度提升 170 倍,测试覆盖达到 1,427 个用例,通过率 100%。
编译缓存
本次更新引入 ~/.codong/cache 编译缓存目录。codong run 在首次执行时将源文件编译为本地二进制并写入缓存;后续执行相同文件时,直接加载缓存二进制,绕过全部编译流程。
| 场景 |
耗时 |
| 首次运行(编译并缓存) |
~2.8 秒 |
| 再次运行(缓存命中) |
~0.017 秒 |
| 提速幅度 |
约 170 倍 |
源文件内容变化时,哈希值自动更新,触发重新编译。无需手动管理缓存。
语言核心补全
| 特性 |
说明 |
** 幂运算符 |
2**10 → 1024 |
int() float() str() bool() |
类型转换全局函数 |
len(x) |
全局函数,等价于 x.len() |
sort(list) |
全局排序函数,支持自定义比较函数 |
map == map |
基于值的 map 相等比较 |
字符串新增方法(共 21 个)
str.index(sub) — 子串首次出现位置 str.reverse() — 字符串反转 str.format(args) — 位置参数格式化,"1+2={0}".format(3) → "1+2=3" str.count(sub) — 子串出现次数统计
列表新增方法
list.flat() — 深度递归展开嵌套列表,[1,[2,[3]]] → [1,2,3] list.count(x) — 统计元素出现次数(修复:原错误计算字符数) list.chunk(n) — 按长度拆分子列表 list.zip(other) — 两列表逐项配对
Map 新增方法
map.from_entries(list) — 从键值对列表构建 map
Go IR 模块补全
以下方法在 codong run(编译模式)下全面支持:
- fs 模块:
mkdir is_dir ls
- json 模块:
pretty flat
- env 模块:
set
- time 模块:
unix add diff before after quarter
- db 模块:
sum avg min max batch_insert
- redis 模块:Hash 操作(
hset/hget/hdel/hgetall),List 操作(lpush/rpush/lpop/rpop/lrange/llen),zcount zrem
- image 模块:
create watermark_tile smart_crop to_rgb
- oauth 模块:
pkce.verifier pkce.challenge rbac.define rbac.check rbac.assign
Bug 修复
db.query 字符串参数被截断为首字母(? 占位符将字符串误作数组处理)
- Go IR 函数前向引用:函数定义在调用之后时触发 nil pointer panic,现通过两遍生成修复
else if 跨行解析失败
try/catch 内 break/continue 失效
测试覆盖
| 测试套件 |
用例数 |
通过 |
通过率 |
test_full.sh |
1,203 |
1,201 |
99.8% |
test_devlog.sh |
122 |
122 |
100% |
test_v21.sh |
224 |
224 |
100% |
| 合计 |
1,427 |
1,425 |
99.9% |
升级方式
curl -fsSL https://codong.org/install.sh * sh
codong version # v0.1.3
完整更新记录:CHANGELOG_v0.1.3.md Release 页面:github.com/brettinhere/Codong/releases/tag/v0.1.3
注:Codong 是一种全新的 AI 原生编程语言,针对AI辅助编程来说,使用Codong作为编程语言进行开发,比Python、Go、JavaScript的Token费用平均节省超过60%,AI代码输出稳定率超过80%。