syndicate-protocols/schemas/dataspacePatterns.prs

27 lines
688 B
Plaintext
Raw Normal View History

version 1 .
2021-07-22 12:12:53 +00:00
embeddedType EntityRef.Cap .
# Dataspace patterns: *almost* a sublanguage of attenuation patterns.
#
# One key difference is that Dataspace patterns are extensible, in that
# they ignore fields not mentioned in DCompound patterns.
Pattern = DDiscard / DBind / DLit / DCompound .
DDiscard = <_>.
2021-08-11 19:43:29 +00:00
DBind = <bind @pattern Pattern>.
DLit = <lit @value AnyAtom>.
DCompound = <rec @label any @fields { int: Pattern ...:... }>
/ <arr @items { int: Pattern ...:... }>
/ <dict @entries { any: Pattern ...:... }> .
2021-06-03 13:58:48 +00:00
AnyAtom =
/ @bool bool
/ @double double
/ @int int
/ @string string
/ @bytes bytes
/ @symbol symbol
2024-02-05 22:14:19 +00:00
/ @embedded #:any
.