5.4.1 有效性

Reach 对语法结构规范的程序施加了进一步的限制。本手册对这些限制进行了描述,术语“有效”是指遵守这些限制的结构,术语“无效”是指不遵守这些限制的结构。

对未定义进行操作总是无效的。例如, 1``+``true无效的。换句话说,Reach 强制执行静态类型规则。

5.4.1.1 安全级别与范围

Reach 程序的的文本是面向所有参与者公有知识。然而,任何一个由交互表达式计算出的值均是只有其参与者才知道的秘密。此外,从秘密值派生的任何值也是秘密。如果有一个值 X ,是另一个值 Y 通过原始计算得出的,或是 Y 作为条件的一部分影响了 X 的定义,则认为 X 是从 Y 派生的。秘密只能通过对原始信息解密才能公开

本地步骤中将秘密值绑定到标识符时,标识符名称的前缀必须加下划线 (_) 。

公开值绑定到标识符时,无论上下文如何,标识符名称的前缀都不能有下划线 (_) 。

因此,出现在函数定义箭头表达式内部的标识符是可以以下划线作为前缀。但如果绑定到该标识符的任何值是公开的,这将导致编译器错误。