forked from PuqiAR/Fig-TreeWalker
24 lines
1.1 KiB
Markdown
24 lines
1.1 KiB
Markdown
# Fig 语言简介
|
||
|
||
## 概述
|
||
Fig 是一门动态类型、解释执行的编程语言,专注于简洁语法和实用的语言特性。它采用树遍历解释器架构,支持多种编程范式。
|
||
|
||
## 实际观察到的特性
|
||
1. **解释执行**:基于 AST 的树遍历解释器,无编译步骤
|
||
2. **动态类型系统**:运行时类型检查,支持类型注解但不强制
|
||
3. **混合范式**:支持函数式、面向对象和命令式风格
|
||
4. **模块系统**:支持代码组织和复用
|
||
5. **内置类型**:整数、浮点数、字符串、列表、映射等
|
||
6. **垃圾回收**:基于引用计数的自动内存管理
|
||
|
||
## 语言设计特点
|
||
- **渐进类型**:支持类型注解但不强制,兼顾灵活性和可读性
|
||
- **一等公民函数**:函数可以作为参数传递和返回
|
||
- **闭包支持**:完整的词法作用域和闭包
|
||
- **错误处理**:异常机制和 try-catch 结构
|
||
- **可变与不可变**:const/var 区分,平衡安全与灵活
|
||
|
||
## 目标应用场景
|
||
- 脚本编写和自动化任务
|
||
- 教育用途和学习编程
|
||
- 配置语言和DSL |