Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Identifier pattern

An identifier pattern is most commonly used for variable bindings; however it can also be used for pattern matching within algebraic data types by using call-like parentheses, where it can also match parameters or fields using compile-time constants.

x
Nothing()
Vector(x, y)
Vector(*, y)      // skips "x"
Vector({ x, y })

Syntax

    IdentifierPattern :
      IdentifierPatternStart IdentifierPatternContinue{0,} IdentifierPatternArgumentsopt
    IdentifierPatternStart :
      Identifier [when keywords are enabled]
      IdentifierName [when keywords are disabled]
    IdentifierPatternContinue :
      . IdentifierName
    IdentifierPatternArguments :
      ( )
      ( IdentifierPatternArgument )
      ( IdentifierPatternArgument , )
    IdentifierPatternArgument :
      *
      Pattern
      IdentifierPatternArgument , Pattern
      IdentifierPatternArgument , *