# Chym
**Repository Path**: iloverust/chym
## Basic Information
- **Project Name**: Chym
- **Description**: 让编程跟填空一样简单,跟音乐一样和谐!
- **Primary Language**: Unknown
- **License**: MulanPSL-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2026-02-24
- **Last Updated**: 2026-02-24
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Chym
让编程跟填空一样简单,跟音乐一样和谐 🎯
特性 •
快速开始 •
示例 •
文档 •
贡献
---
## 🎯 什么是 chym?
chym(发音 /kɪm/)是一种创新的五列式编程语言,融合了 **Nim** 的高效和 **Julia** 的科学计算能力。
**核心理念**:让编程跟填空一样简单,跟音乐一样和谐
**命名由来**:
- **chym** = 五列式语言,发音 /kɪm/
- **.chym** = 文件后缀
- **chym** = CLI 命令
```
┌────────┬────────┬────────┬────────┬────────┐
│ 宫 │ 商 │ 角 │ 徵 │ 羽 │
├────────┼────────┼────────┼────────┼────────┤
│ x1 │ = │ 10 │ │ │ ← 填空式编程
└────────┴────────┴────────┴────────┴────────┘
```
## ✨ 特性
### 🔄 管道操作符 - 数据流一目了然
```
┌────────┬────────┬────────┬────────┬────────┐
│ data │ |> │ filter │ even │ │
│ │ |> │ map │ double │ │
│ │ |> │ reduce │ add │ 0 │
└────────┴────────┴────────┴────────┴────────┘
```
### 📊 广播运算 - 张量操作原生支持
```
┌────────┬────────┬─────────────┬────────┬────────┐
│ a1 │ := │ [1, 2, 3] │ │ │
│ b1 │ .+ │ a1 │ 10 │ │ → [11, 12, 13]
└────────┴────────┴─────────────┴────────┴────────┘
```
### 🎯 模式匹配 - 处理分支逻辑
```
┌────────┬────────┬────────┬────────┬────────┐
│ │ │ score │ │ │
│ | │ │ 90..100│ "A" │
│ │ | │ 80..89 │ "B" │
│ │ | │ _ │ "C" │
└────────┴────────┴────────┴────────┴────────┘
```
### ⚡ 智能执行 - 自动选择最优模式
| 场景 | 自动选择 | 启动时间 |
| -------- | -------- | -------- |
| REPL | 解释器 | 1ms |
| 简单脚本 | 解释器 | 5ms |
| 复杂计算 | JIT | 50ms |
| 生产部署 | AOT | 0ms |
### 🚀 chym x 一键运行
```bash
chym x formatter file.chym # 无需安装,直接运行
```
## 📦 安装
### 从源码编译
```bash
git clone https://github.com/JuSanSuiYuan/chym.git
cd chym
cargo build --release
cargo install --path .
```
### 验证安装
```bash
chym --version
# chym v2026.2.22
```
## 🚀 快速开始
### Hello World
创建 `hello.chym`:
```
┌────────┬────────┬───────────┬────────┬────────┐
│ 宫 │ 商 │ 角 │ 徵 │ 羽 │
├────────┼────────┼───────────┼────────┼────────┤
│ │ . │ "Hello!" │ │ │
└────────┴────────┴───────────┴────────┴────────┘
```
运行:
```bash
chym run hello.chym
# 输出: Hello!
```
### 变量与运算
```
┌────────┬────────┬────────┬────────┬────────┐
│ 宫 │ 商 │ 角 │ 徵 │ 羽 │
├────────┼────────┼────────┼────────┼────────┤
│ x1 │ = │ 10 │ │ │ → 不可变
│ y1 │ := │ 20 │ │ │ → 可变
│ z1 │ -> │ x1 + y1│ │ │ → 计算
│ z1 │ . │ │ │ │ → 打印
└────────┴────────┴────────┴────────┴────────┘
# 输出: 30
```
### 循环求和
```
┌────────┬────────┬────────┬────────┬────────┐
│ 宫 │ 商 │ 角 │ 徵 │ 羽 │
├────────┼────────┼────────┼────────┼────────┤
│ s1 │ := │ 0 │ │ │
│ i1 │ .. │ 1..101 │ s1+=i1 │ │
│ s1 │ . │ │ │ │
└────────┴────────┴────────┴────────┴────────┘
# 输出: 5050
```
## 📚 示例
### 斐波那契数列
```
┌────────┬────────┬────────────┬────────┬────────┐
│ n1 │ := │ 10 │ │ │
│ a1 │ := │ 0 │ │ │
│ b1 │ := │ 1 │ │ │
│ i1 │ .. │ 0..n1 │ │ │
│ a1 │ . │ │ │ │
│ t1 │ -> │ a1 + b1 │ │ │
│ a1 │ <- │ b1 │ │ │
│ b1 │ <- │ t1 │ │ │
└────────┴────────┴────────────┴────────┴────────┘
# 输出: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34
```
### 管道数据处理
```
┌────────┬────────┬────────────────┬────────┬────────┐
│ x1 │ := │ [3, 1, 4, 1, 5]│ │ │
│ l1 │ |> │ x1 │ len │ │
│ s1 │ |> │ x1 │ sort │ │
│ r1 │ |> │ x1 │ reverse│ │
│ l1 . s1 . r1 │ . │ │ │ │
└────────┴────────┴────────────────┴────────┴────────┘
# 输出: 5, [1, 1, 3, 4, 5], [5, 1, 4, 1, 3]
```
## 🤖 AI 开发优势
chym 对 AI 开发有天然优势:
### 神经网络层定义
```
┌────────┬────────┬─────────────────┬────────┬────────┐
│ x1 │ |> │ linear │ 784,256│ │
│ x1 │ |> │ relu │ │ │
│ x1 │ |> │ dropout │ 0.2 │ │
│ x1 │ |> │ linear │ 256,10 │ │
│ r1 │ |> │ x1 │ softmax│ │
└────────┴────────┴─────────────────┴────────┴────────┘
```
**对比 Python**:
```python
x = F.softmax(self.linear2(F.dropout(F.relu(self.linear1(x)), 0.2)))
```
👉 [查看 AI 开发优势详解](docs/AI_ADVANTAGES.md)
## 📖 文档
| 文档 | 说明 |
| ----------------------------- | ---------------- |
| [语言规范](docs/SPEC.md) | 完整的语言定义 |
| [快速入门](docs/QUICKSTART.md) | 10分钟上手指南 |
| [示例代码](docs/EXAMPLES.md) | 丰富的代码示例 |
| [AI 优势](docs/AI_ADVANTAGES.md) | AI 开发天然优势 |
| [物理仿真](docs/物理仿真.md) | 物理仿真系统详解 |
## 🔬 物理仿真
Chym 提供完整的物理仿真能力,融合了 **MoonBit 的值类型优化** 和 **JAI 的系统跟踪** 技术。
### 物理单位作为一等公民
```
┌────────────┬────────────┬─────────────────┬─────────────┬────────┐
│ 宫 │ 商 │ 角 │ 徵 │ 羽 │
├────────────┼────────────┼─────────────────┼─────────────┼────────┤
│ length │ = │ 10 m │ │ │
│ time │ = │ 5 s │ │ │
│ speed │ -> │ length / time │ │ │
└────────────┴────────────┴─────────────────┴─────────────┴────────┘
# 输出: 2 m/s
```
### 预定义材料库
| 材料 | 热导率 W/(m·K) | 密度 kg/m³ | 弹性模量 GPa |
| -------- | --------------- | ----------- | ------------ |
| steel | 50 | 7800 | 200 |
| aluminum | 237 | 2700 | 70 |
| copper | 401 | 8960 | 110 |
| water | 0.6 | 1000 | - |
| air | 0.026 | 1.225 | - |
### 支持的方程
- 热传导方程
- 扩散方程
- 纳维-斯托克斯方程
- 弹性力学方程
👉 [查看物理仿真详解](docs/物理仿真.md)
## 🛠️ CLI 命令
```bash
chym run script.chym # 运行脚本
chym repl # 交互式 REPL
chym build script.chym # AOT 编译
chym test test.chym # 运行测试
chym bench bench.chym # 性能测试
chym x formatter file.chym # 一次性执行 (类似 uvx/npx)
chym info script.chym # 分析代码
chym init myproject # 创建新项目
```
## 📊 性能对比
| 操作 | Python | Julia | chym |
| -------- | ------ | ----- | -------------- |
| 启动时间 | 100ms | 500ms | **1ms** |
| 简单循环 | 慢 | 中 | **快** |
| 数值计算 | 中 | 快 | **快** |
| 内存占用 | 50MB | 100MB | **10MB** |
## 🤝 贡献
欢迎贡献代码、报告问题或提出建议!
1. Fork 本仓库
2. 创建特性分支 (`git checkout -b feature/amazing`)
3. 提交更改 (`git commit -m 'Add amazing feature'`)
4. 推送到分支 (`git push origin feature/amazing`)
5. 创建 Pull Request
## 📄 许可证
本项目采用 [木兰宽松许可证 v2.0](LICENSE) 开源。
## 🙏 致谢
- 灵感来源于 [Nim](https://nim-lang.org/) 和 [Julia](https://julialang.org/)
## 👤 作者
- **Gitee / Gitcode**: [ILoveRust](https://gitee.com/ILoveRust)
- **GitHub**: [JuSanSuiYuan](https://github.com/JuSanSuiYuan)
---
让编程跟填空一样简单,跟音乐一样和谐 🎯