核心前提
一门语言。
每一层。
没有层级阶梯
没有层级阶梯
每个结构都按文档化的规则生成代码,因此无需运行编译器即可从源码预测汇编。
没有隐藏的内存分配,没有隐藏的控制流,没有虚表 —— 行为完全来自源码、它的清单和语言约定。
运算默认经过检查;在 unchecked 作用域内,其行为由硬件定义,而绝非编译器认为方便的方式。
声明形式只有一种 —— name : type = value。类型、函数和泛型都是以同样方式书写的值,因此每一层都无需学习新的语法。
name := value声明并从值推断类型fn(…) -> T一个值表达式,正如 struct {…} 一样pub · mut · comptime三个修饰符,作用于三条正交的轴## 声明把名字绑定到 ## 其右侧表达式求值的结果 Point := struct { x : u64, y : u64 } Meters := brand(u64) add := fn(a : u64, b : u64) -> u64 { a + b } Vec := fn(T : type) -> type { struct { ptr : ptr(T), len : usize } } comptime PI : f64 = 3.14159 mut count : u64 = 0