--- id: LANG-3 family: GR-LANG level: core profiles: [storage-api, runtime] posture: normative-target added: "1.0" changed: "1.0" source: https://flowdrop.io/spec/rules/gr-lang/lang-3 specification: FlowDrop Workflow Specification 1.0-draft licence: CC BY 4.0 --- # LANG-3 — An empty expression is not an error *GR-LANG (Part I) · level: core · profiles: storage-api, runtime · added in 1.0* ## The rule > **Normative.** This is the rule. > > 1. An empty expression is valid: it passes validation, and it produces a defined result rather than a failure. > > 2. A mapper output whose expression is empty is null, whatever the engine. > > 3. An extractor whose path is empty returns its input unchanged, reports success, and reports no match. --- 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.