--- id: LANG-20 family: GR-LANG level: core profiles: [runtime] posture: normative-target added: "1.0" changed: "1.0" source: https://flowdrop.io/spec/rules/gr-lang/lang-20 specification: FlowDrop Workflow Specification 1.0-draft licence: CC BY 4.0 --- # LANG-20 — Testing whether a path exists *GR-LANG (Part I) · level: core · profiles: runtime · added in 1.0* The test answers for every path, including the two that have no obvious answer: one that cannot be walked, and one with nothing in it. ## The rule > **Normative.** This is the rule. > > 1. Testing a path for existence reports whether that path can be read, and answers for every path. > > 2. A path that cannot be read reports absence, a property path applied to a scalar among them, since a scalar has no property to read (LANG-8). > > 3. The empty path consumes no segments and therefore denotes the evaluation context itself, which is always present, so the empty path reports presence. ## Related rules - Names: LANG-8 --- Rule identifiers are permanent and are never renumbered. This specification carries no implementation status: each implementation publishes its own standing against these rules. Licensed CC BY 4.0.