diff --git a/preserves-schema.md b/preserves-schema.md index 8f61cfd..9194f48 100644 --- a/preserves-schema.md +++ b/preserves-schema.md @@ -159,7 +159,7 @@ identifierlike" literal pattern - one that matches a string, symbol, number or boolean: AltPattern = "@" id SimplePattern - / "<" id *(NamedPattern) ">" + / "<" id PatternSequence ">" / Ref / LiteralPattern -- with a side condition @@ -282,10 +282,20 @@ identifier. A record pattern matches an input record. It may be specified as a record with a literal in the label position, or as a quoted `< -... >` record: +... >` record with a pattern for each of the label and field-sequence +positions:[^record-shorthand] - RecordPattern = "<" NamedPattern *(NamedPattern) ">" - / "<" value *(NamedPattern) ">" + RecordPattern = "<" NamedPattern NamedPattern ">" + / "<" value PatternSequence ">" + + PatternSequence = *(NamedPattern) [NamedSimplePattern "..."] + +[^record-shorthand]: Note that `