matches.js
function parseIdentPattern (inp) {
    var match = inp.takeAPeek(IDENT);
    if (match) {
      if (inp.takeAPeek("@")) {
        var patt = parseBinderPattern(inp);
        if (patt) return nodeBinder(match[0], patt);
      }
      return nodeIdentifier(match[0])
    }
  }
function parseIdentPattern (inp) {
    var match = inp.takeAPeek(IDENT);
    if (match) {
      if (inp.takeAPeek("@")) {
        var patt = parseBinderPattern(inp);
        if (patt) return nodeBinder(match[0], patt);
      }
      return nodeIdentifier(match[0])
    }
  }
function parseIdentPattern ( inp ) { var match = inp . takeAPeek ( IDENT ) ; if ( match ) { if ( inp . takeAPeek ( "@" ) ) { var patt = parseBinderPattern ( inp ) ; if ( patt ) return nodeBinder ( match [ 0 ] , patt ) ; } return nodeIdentifier ( match [ 0 ] ) } }
Parses identifiers and binders, which are for when you want to destructure the value but also pass the original value to the function. Binders are an identifier, followed by an @ and another pattern.
Parses identifiers and binders which are for when you want to destructure the value but also pass the original value to the function . Binders are an identifier followed by an