Serendipity
06d80f441a
feat: 闭包/lambda — 匿名函数表达式
fn(x: T) -> R { body } 作为表达式, 可赋值给变量并间接调用。
全流水线实现:
- Parser: TOK_FN 前缀 → AST_LAMBDA 节点
- Sema: 自动生成 __lambda_N 顶层函数 + 符号注册
- Sema: analyze_call_expr 支持 TYPE_CLOSURE 变量调用
- Codegen: lambda 表达式返回函数指针(i64), 调用点载入+IntToPtr+间接call
- VarEntry.closure_fn 追踪闭包变量对应的生成函数
限制(MVP v0.1): 非捕获 lambda, 返回类型固定 i64
+6 sema 测试 + 1 集成测试, 209 测试全部通过
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-07 15:07:03 +08:00
..
2026-06-05 00:26:59 +08:00
2026-06-05 00:26:59 +08:00
2026-06-05 00:26:59 +08:00
2026-06-05 00:26:59 +08:00
2026-06-05 00:26:59 +08:00
2026-06-05 19:47:00 +08:00
2026-06-05 00:47:53 +08:00
2026-06-05 02:36:23 +08:00
2026-06-05 19:47:00 +08:00
2026-06-05 19:44:26 +08:00
2026-06-05 19:44:26 +08:00
2026-06-05 12:21:22 +08:00
2026-06-05 12:21:22 +08:00
2026-06-05 13:29:31 +08:00
2026-06-05 13:54:58 +08:00
2026-06-05 13:54:58 +08:00
2026-06-05 14:01:47 +08:00
2026-06-05 19:48:56 +08:00
2026-06-05 19:50:40 +08:00
2026-06-05 14:41:52 +08:00
2026-06-05 14:41:52 +08:00
2026-06-05 14:41:52 +08:00
2026-06-05 14:41:52 +08:00
2026-06-05 19:48:56 +08:00
2026-06-05 20:47:44 +08:00
2026-06-05 20:49:03 +08:00
2026-06-05 20:54:58 +08:00
2026-06-05 20:59:00 +08:00
2026-06-05 20:59:00 +08:00
2026-06-06 13:52:36 +08:00
2026-06-06 14:21:43 +08:00
2026-06-06 15:20:34 +08:00
2026-06-06 16:09:30 +08:00
2026-06-06 16:17:15 +08:00
2026-06-06 16:41:21 +08:00
2026-06-06 17:09:28 +08:00
2026-06-07 12:53:18 +08:00
2026-06-07 13:51:10 +08:00
2026-06-07 13:58:54 +08:00
2026-06-07 14:07:13 +08:00
2026-06-07 14:13:09 +08:00
2026-06-07 14:45:38 +08:00
2026-06-07 14:45:38 +08:00
2026-06-07 15:07:03 +08:00
2026-06-06 16:09:30 +08:00