version 1 . embeddedType EntityRef.Cap . ; Each Attenuation is a stage. The sequence of Attenuations is run RIGHT-TO-LEFT. ; That is, the newest Attenuations are at the right. SturdyRef = . ; An individual Attenuation is run RIGHT-TO-LEFT. ; That is, the newest Caveats are at the right. Attenuation = [Caveat ...]. ; embodies 1st-party caveats over assertion structure, but nothing else ; can add 3rd-party caveats and richer predicates later Caveat = Rewrite / Alts . Rewrite = . Alts = . Oid = int . WireRef = @mine [0 @oid Oid] / @yours [1 @oid Oid @attenuation Caveat ...]. ;--------------------------------------------------------------------------- Lit = . Pattern = PDiscard / PAtom / PEmbedded / PBind / PAnd / PNot / Lit / PCompound . PDiscard = <_>. PAtom = =Boolean / =Float / =Double / =SignedInteger / =String / =ByteString / =Symbol . PEmbedded = =Embedded . PBind = . PAnd = . PNot = . PCompound = / @rec / @arr / @dict . Template = TAttenuate / TRef / Lit / TCompound . TAttenuate = . TRef = . TCompound = / @rec / @arr / @dict .