@ # TODO: some kind of constants # TODO: rename "version" to "schema-version" ? version 1 . Bundle = . Modules = { ModulePath: Schema ...:... }. Schema = . # version 1 . Version = 1 . EmbeddedTypeName = #f / Ref . Definitions = { symbol: Definition ...:... }. Definition = # Pattern / Pattern / ... / # Pattern & Pattern & ... / # Pattern / Pattern . Pattern = SimplePattern / CompoundPattern . SimplePattern = # any / =any # special builtins: bool, double, int, string, bytes, symbol / # matches an embedded value in the input: #:p / # =symbol, < any>, or plain non-symbol atom / # [p ...] ----> >; see also tuplePrefix below. / # #{p} ----> > / # {k: v, ...:...} ----> > / # symbol, symbol.symbol, symbol.symbol.symbol, ... / Ref . CompoundPattern = #