Union Exprpub

Source
:union(pub) Expr
  | IntLit AnyInt
  | FloatLit AnyFloat
  | BoolLit Bool
  | StrLit Str
  | WordCall Str
  | Constructor Str
  | Binding Str
  | PeekBinding Str
  | FieldAccess Str
  | FieldUpdate Str
  | IfExpr (Vec Expr) (Vec Expr)
  | ForExpr Str (Vec Expr)
  | LoopExpr (Vec Expr)
  | BreakExpr
  | RetExpr
  | TryExpr
  | MatchExpr (Vec MatchArm)
  | QuotExpr (Vec Expr)
  | QualCall Str Str
  | WithExpr Str (Vec Expr)
  | RangeBothExpr (Vec Expr) (Vec Expr)
  | RangeFromExpr (Vec Expr)
  | RangeToExpr (Vec Expr)
  | RangeFullExpr
  | CharLitExpr Char
  | DecimalLit Decimal
  | SymbolLit Symbol
Description

Structured expression tree produced by parse-expr. Variants include literals, word/qualifier calls, bindings and peeks, field access and update, control flow (:if, :for, :loop, :break, :ret, :try), :match, quotations, :with blocks, range forms, and literal values.

Variants

| IntLit AnyInt
| FloatLit AnyFloat
| BoolLit Bool
| StrLit Str
| WordCall Str
| Constructor Str
| Binding Str
| PeekBinding Str
| FieldAccess Str
| FieldUpdate Str
| IfExpr Vec(Expr) Vec(Expr)
| ForExpr Str Vec(Expr)
| LoopExpr Vec(Expr)
| BreakExpr
| RetExpr
| TryExpr
| MatchExpr Vec(MatchArm)
| QuotExpr Vec(Expr)
| QualCall Str Str
| WithExpr Str Vec(Expr)
| RangeBothExpr Vec(Expr) Vec(Expr)
| RangeFromExpr Vec(Expr)
| RangeToExpr Vec(Expr)
| RangeFullExpr
| CharLitExpr Char
| DecimalLit Decimal
| SymbolLit Symbol