类型系统
基础类型
- str: 单字符
- string: 字符串
- int: 整数
- bool: 布尔
- singlef: 单精度浮点
- multif: 多精度浮点
- arr: 数组
- obj: 对象(不透明;禁止用于变量显式声明与赋值目标)
- class: 类(禁止用于变量显式声明与赋值目标)
- unknown: 未知(推断/未指定)
- void: 无返回
约束:显式声明 obj/class 变量将报错;作为目标类型也不可赋值。
可赋性规则(摘要)
- SAME: 相同类型可赋值
- number 系:int ↦ int;singlef/multif 接受 number 系(int/singlef/multif)
- string 系:str 与 string 互通
- bool: 仅接受 bool
- unknown: 接受任意源类型(占位)
- void: 仅可与 void 对应
- 目标若为 obj/class:不允许赋值(语义层限制)
字面量与推断
- 字符串字面量 → string
- 数字字面量 → int 或 singlef(根据表达式运算上下文合并,混合时趋向 number)
- 布尔字面量 → bool