6.1.3 重载与纯度(PURE/IMPURE) 在 Fortran 编程语言的演进长河中, 与 属性从来不是语法糖,而是编译器与程序员之间一份沉默却庄严的契约——它定义了函数能否被信任、能否被重排、能否被向量化、能否被并行化,甚至能否被放入 块中执行。而当这份契约与过程重载(overloading)相遇时,问题便从单点语义跃升为系统级行为一致性挑战:你如何确保一个被声明为 的接口,在所有重载变体中都真正“纯净”?又如何让编译器在解析 时,不仅选对过程名,还验明其纯度身份,并据此决定是否允许它出现在 表达式内部?这不是教科书里轻描淡写的“加个关键字”,而是一场涉及符号表构建、语义检查时机、调用图分析、以及底层 IR(Intermediate Representation)标记传播的精密工程。