← All showcases
full attribute grammarHardware / manufacturing
attributesextensibility

Attributes as a domain dialect

Flags, negated flags, block values, nested lists - arbitrary @keys without changing the grammar.

The language stays small. Your domain vocabulary rides on @attributes.

hardware/valve.rq

valve_control {
  fail-closed on loss of air
  @owner process-team
  @priority P1
  @sil 2
  @required
  @dfm!
  @plan {
      steps (
          - lockout tagout procedure signed
          - stroke test recorded
      )
  }
  @tags (
      safety
      plc
      pneumatic
  )
  @bom (
      actuator {
          part AV-440
      }
      solenoid {
          part SV-12 24V
      }
  )
  @status verified
}

forms in play

  • @required - bare flag
  • @dfm! - negated flag (design-for-manufacture waived)
  • @plan { ... } - block value
  • @bom ( name { ... } ) - named nested lists
  • @sil 2 - scalar domain metadata