Closed
Description
We should list them out.
@erights already wrote up about the scalars in first CapTP implementation in Agoric's code.
Goblins' CapTP has:
- Booleans
- Floats (yes, this needs to be broken down since that's a big ol' rathole)
- Signed integers
- Bytestrings (really, arbitrary binary data)
- Strings
- Symbols (think lisp or ruby symbols)
- Dictionaries/maps
- Lists/arrays
- Records (yes, arbitrary user "records" in preserves/syrup... this is the "extension-type type"... these are encoded as
<'user-record record-tag [record-arg1, record-arg2, ...]>
on the wire) - Unordered sets
- Strings (unicode)
- Refs, both "local" and "remote", with each distinctly typed for "promise" vs "object" (so, really four kinds of refs, but really on the wire this is about incoming vs outgoing) (btw "local" and "remote" are akin to near and far generally, but in Goblins near and far refer to "in the same vat", and multiple vats may be exposed by the same captp... I know this is up for discussion because of the possibility of vat migration)
- Errors (right now, only the "mystery" error, in the future, more types)
- Void (equivalent to "undefined")
Sorta on the wire there's some other things too, like the signed-handoff-give certificates, but that's not something that ever reaches code, so I consider that a different thing... more of an AST discussion.
Metadata
Labels
No labels