OCapN Pre-standardization Group
- Chair: Jonathan Rees
- Scribe: Richard Gibson
Baldur (zarutian), (independent)
David Thompson (dthompson), (Spritely)
Jonathan Reese (jar), (independent)
Mark Miller (markm), (Agoric)
Richard Gibson (gibson), (Agoric)
Jacob Weisz (jweisz) (independent)
markm: The following is in the context of concrete binary syntax, and why the order-preserving properties of the format in https://github.com/endojs/endo/pull/1594 are important.
(Baldurs note : that being data order and not message order)
jweisz: I have news to share. Not sure if everyone has heard, but Ian Denhardt passed away unexpectedly last month, and thus Cap'n Proto doesn't currently have much representation here. I am not technical enough to participate at the level Ian did, but someone else may step in in the near future. Don't let Cap'n Proto be a blocker on moving forward since we won't have much input at this time.
jar: Given low turnout today, I don't think we should make big decisions, anyhow.
markm: Who will be representing capnproto going forward?
jweisz: Louis Thibault is potentially interested but uncertain at this time.
dpwiz: I've started implementation to match the test suite and found discrepancies between the spec and the test suite
jar: Were issues filed?
dthompson: We should grant additional privileges so more people can grant presenter access at meetings.
jar: I should at least be able to.
#40 "OCapN & Agoric: Layers and Orders" continuation
markm: I'm recording audio locally.
markm: quickly reviews the previous slides he presented at a past meeting
markm: a Key is a Passable that can be used as a key in a Map or element in a Set, and the important aspect of a Key is that it must have stable and well-defined equality semantics. A Key is not necessarily primitive, but cannot encompass a Promise or an Error, or a TagRecord whose tag does not identify it as a Map, Set, or Bag.
markm: Every Key is also a Pattern that matches itself, and some Patterns match more than one value (e.g., a Pattern matching numbers greater than or equal to 100).
markm: We differentiate
compareRank (a total preorder at the low "pass-style" level in which values are always comparable but can have equal rank) from
compareKeys (a partial order over Keys at the higher "patterns"/"kindOf" level in which some Keys are incomparable).
dthompson: What does this mean for Spritely?
markm: We're proposing this as a candidate for a concrete binary encoding, secondary to completing agreement about the passable and CapTP levels.
dthompson: The slides include logic programming capability that Goblins currently lacks, but I appreciate the recap helping me grasp things much better than the first time around. I think we can get agreement on the pass-style layer. But I don't have experience at the marshalling level for Spritely.
markm: For everyone here, does it seem plausible that we could get agreement on the encodePassable format, absent any penalties?
dthompson: It does preserve an ordering guarantee in similar style to our current use of Syrup.
jar: Per schedule, Tuesday, September 12
zarutian: The meetings should be longer.