add LICENSE. Signed-off-by: ILoveRust xinglingboy@126.com
add LICENSE.
Signed-off-by: ILoveRust xinglingboy@126.com
Cz 是一个结合了 Zig 的显式分配器、Erlang 的 Actor 隔离和 C3 的模块化的实验性编程语言。
Cz 现在支持 .cz 文件格式!
.cz
// hello.cz - 真正的 Cz 语言文件 import std; import cz.actor; actor Greeter { name: string, receive { Greet => { std.debug.print("Hello, {s}!\n", .{self.name}); }, } } pub fn main() !void { var greeter = try actor.spawn(Greeter, allocator, "World"); try greeter.send(.Greet); }
编译 .cz 文件:
czc hello.cz # 编译为可执行文件 czc hello.cz -O3 # 优化编译
查看 .cz 文件格式文档 了解详情。
双后端支持:
czc hello.cz
czc hello.cz --llvm
czc hello.cz --backend=cranelift
优化级别:
czc -O0 hello.cz --llvm # Debug czc -O2 hello.cz --llvm # Standard czc -O3 hello.cz --llvm # Aggressive czc -Os hello.cz --llvm # Size
生成 LLVM IR:
czc hello.cz --emit=llvm-ir
查看 LLVM 后端文档 和 编译器架构文档 了解详情。
使用 MLIR 进行高级循环优化!
# 使用 MLIR 优化 czc matrix.cz --mlir --mlir-opt=aggressive # 生成优化后的 MLIR czc matrix.cz --emit=mlir-opt
优化技术:
性能提升:
查看 MLIR 优化文档 了解详情。
极速编译,快速迭代!
# 使用 Cranelift(编译快 10-20x) czc main.cz --backend=cranelift -o main # 开发模式(自动使用 Cranelift) czc main.cz --mode=dev -o main # 发布模式(自动使用 LLVM) czc main.cz --mode=release -o main
性能对比:
编译速度: LLVM: 120s Cranelift: 6s (20x faster!) 运行性能: LLVM: 100% Cranelift: 80% (足够好!)
优势:
查看 Cranelift 后端文档 了解详情。
使用 Mold 加速链接!
# 使用 Mold 链接(3-10x 更快) czc main.cz --use-mold # 或指定链接器 czc main.cz --linker=mold
GNU ld: 45s LLD: 15s Mold: 5s (9x faster!)
查看 Mold 链接器文档 了解详情。
# 运行 Counter 示例 d:\zig\zig.exe build run # 运行 Chat Room 示例 d:\zig\zig.exe build chat # 运行 Exokernel 演示 d:\zig\zig.exe build exo # 运行 DBOS 演示(数据库操作系统) d:\zig\zig.exe build dbos # 运行测试 d:\zig\zig.exe build test
Python 风格的模式匹配!
// 基础匹配 fn describe_number(n: i32) void { match n { 0 => print("zero"), 1 => print("one"), x if x < 0 => print("negative"), _ => print("other"), } } // 联合类型匹配 const Result = union(enum) { ok: i32, err: []const u8, }; fn handle_result(result: Result) void { match result { .ok(value) => print("Success: {d}", value), .err(msg) => print("Error: {s}", msg), } } // Actor 消息匹配 actor Worker { receive { msg => match msg { .start => self.state = .running, .task(priority) if priority > 5 => self.process_urgent(), .task(_) => self.process_normal(), _ => print("Unknown"), }, } }
查看 模式匹配文档 了解详情。
// 模块定义 module network.tcp; import std.allocator; import std.actor; // Actor 定义 actor TcpServer { port: u16, connections: List(Connection), // 初始化时指定分配器 pub fn init(alloc: Allocator, port: u16) !Self { return Self{ .port = port, .connections = try List(Connection).init(alloc), }; } // 消息处理 receive { Connect(addr: Address) => { const conn = try self.connect(addr); try self.connections.append(conn); }, Disconnect(id: u32) => { self.connections.remove(id); }, } } // 使用 pub fn main() !void { var gpa = std.heap.GeneralPurposeAllocator(.{}){}; defer _ = gpa.deinit(); const alloc = gpa.allocator(); // 创建 Actor var server = try actor.spawn(TcpServer, alloc, .{8080}); defer server.stop(); // 发送消息 try server.send(.{ .Connect = addr }); }
CZ/ ├── src/ │ ├── runtime/ # Cz 运行时 │ ├── actor/ # Actor 系统实现 │ ├── allocator/ # 分配器抽象 │ └── std/ # 标准库 ├── examples/ # 示例代码 └── build.zig # 构建脚本
Cz 的设计目标是创建一个适合构建高性能、高可靠性系统的语言:
Cz 现在可以用于操作系统开发!
查看 OS 开发指南 和 Exokernel 设计 了解详情。
核心能力:
Exokernel 示例:
// 注册多个 LibOS var kernel = try Exokernel.init(allocator, 16 * 1024 * 1024); _ = kernel.register_libos("BatchOS", batch_os_main); _ = kernel.register_libos("RTOS", rtos_main); _ = kernel.register_libos("DatabaseOS", db_main); // 能力系统保护资源 const cap = kernel.syscall_alloc_page(libos_id);
适用场景:
基于 Asterinas 框内核架构的数据库操作系统!
查看 DBOS 架构文档 了解详情。
核心创新:
架构:
Applications (SQL) ↓ Safe Rust DBMS (Untrusted) ↓ Cz Exokernel (TCB - Trusted) ↓ Hardware
运行演示:
d:\zig\zig.exe build dbos
现代化的包管理器,结合 Cargo 和 pnpm 的优点!
查看 czpm 文档 了解详情。
核心特性:
package.cz
使用示例:
# 创建项目 czpm init my-project # 添加依赖 czpm add actor-runtime@1.0.0 # 安装(使用硬链接) czpm install # 构建和运行 czpm build czpm run
想知道 Cz 与 Zig、C3、Nim、Rust、V 的区别?
查看 语言对比文档 了解详细对比。
Cz 的独特优势:
目标:3 个月内让 Cz 可以实际使用!
查看 实用化行动计划 了解详情。
Month 1:编译器可用
Month 2:标准库完整
Month 3:工具链就绪
# 构建编译器 cd czc zig build # 测试示例 zig build run -- ../examples/simple.cz -o simple ./simple
查看 实施指南 开始贡献!
Cz 也在规划自举(Self-Hosting)!
查看 自举计划文档 了解详情。
时间表:18 个月实现完全自举(在实用化之后)
🚧 实验阶段 - 核心功能已实现:
Cz是一个结合了 Zig 的显式分配器、Erlang 的 Actor 隔离和 C3 的模块化的实验性编程语言。
Cz Programming Language
Cz 是一个结合了 Zig 的显式分配器、Erlang 的 Actor 隔离和 C3 的模块化的实验性编程语言。
核心特性
.cz 文件格式 🆕
Cz 现在支持
.cz文件格式!编译 .cz 文件:
查看 .cz 文件格式文档 了解详情。
编译器架构 🆕
双后端支持:
1. Zig 后端(默认)
2. LLVM 后端
3. Cranelift 后端(新增!⚡)
优化级别:
生成 LLVM IR:
查看 LLVM 后端文档 和 编译器架构文档 了解详情。
MLIR-AIR 优化 🆕🔥
使用 MLIR 进行高级循环优化!
优化技术:
性能提升:
查看 MLIR 优化文档 了解详情。
Cranelift 后端 🆕⚡
极速编译,快速迭代!
性能对比:
优势:
查看 Cranelift 后端文档 了解详情。
Mold 高速链接器 🆕⚡
使用 Mold 加速链接!
性能对比:
优势:
查看 Mold 链接器文档 了解详情。
快速开始
模式匹配 (match-case) 🆕
Python 风格的模式匹配!
查看 模式匹配文档 了解详情。
语言示例
项目结构
设计理念
Cz 的设计目标是创建一个适合构建高性能、高可靠性系统的语言:
操作系统开发 🆕
Cz 现在可以用于操作系统开发!
查看 OS 开发指南 和 Exokernel 设计 了解详情。
核心能力:
Exokernel 示例:
适用场景:
DBOS - Database Operating System 🆕🔥
基于 Asterinas 框内核架构的数据库操作系统!
查看 DBOS 架构文档 了解详情。
核心创新:
架构:
运行演示:
czpm - 包管理器 🆕
现代化的包管理器,结合 Cargo 和 pnpm 的优点!
查看 czpm 文档 了解详情。
核心特性:
package.cz)使用示例:
与其他语言对比
想知道 Cz 与 Zig、C3、Nim、Rust、V 的区别?
查看 语言对比文档 了解详细对比。
Cz 的独特优势:
🚀 快速实用化计划 🆕
目标:3 个月内让 Cz 可以实际使用!
查看 实用化行动计划 了解详情。
核心策略
时间表
Month 1:编译器可用
Month 2:标准库完整
Month 3:工具链就绪
立即开始
查看 实施指南 开始贡献!
自举计划(长期)
Cz 也在规划自举(Self-Hosting)!
查看 自举计划文档 了解详情。
时间表:18 个月实现完全自举(在实用化之后)
开发状态
🚧 实验阶段 - 核心功能已实现: