Skip to content

Commit 6898f2b

Browse files
committed
docs: Add a glossary
1 parent 1b8388d commit 6898f2b

3 files changed

Lines changed: 37 additions & 0 deletions

File tree

.cursorrules

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ Error handling:
8181

8282
Documentation:
8383

84+
- Check the [glossary](./GLOSSARY.md) for definitions of unclear terms.
8485
- Use JSDoc and TypeDoc for public APIs.
8586
- Include examples and document error cases.
8687

GLOSSARY.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Glossary
2+
3+
- [clist](#clist)
4+
- [eref](#eref)
5+
- [kref](#kref)
6+
- [rref](#rref)
7+
- [vref](#vref)
8+
- [vso](#vso)
9+
10+
### clist
11+
12+
A _clist_ (short for "capability list") is a bidirectional mapping between short, channel-specific identifiers and actual object references. The clist is unique to a channel-runtime pair, and translates between the javascript runtime which holds the object references and the channel which communicates about them.
13+
14+
### eref
15+
16+
An _ERef_ (short for "endpoint reference") is a generic term for a ref which is either a [vref](#vref) or an [rref](#rref).
17+
18+
### kref
19+
20+
A _KRef_ (short for "kernel reference") designates an Object within the scope of the Kernel itself. It is used in the translation of References between one Vat and another. A KRef is generated and assigned by the Kernel whenever an Object reference is imported into or exported from a Vat for the first time. KRefs are strictly internal to the Kernel implementation. The differentiation between VRefs and KRefs enables the Kernel to maintain `2N` Reference translation tables for `N` Vats rather than having to potentially maintain `` translation tables.
21+
22+
### rref
23+
24+
An _RRef_ (short for "remote reference") designates an object within the scope of an established point-to-point communications Channel between two Clusters (more on Channels below). An RRef does not survive the Channel it is associated with. An RRef is generated when the Kernel for one Cluster exports an Object Reference into the Channel connecting it to another Cluster's Kernel.
25+
26+
### vref
27+
28+
A _VRef_ (short for "vat reference") designates an Object within the scope of the Objects known to a particular Vat. It is used across the Kernel/Vat boundary in the marshaling of messages delivered into or sent by that Vat. A VRef is generated and assigned by the Kernel when importing an Object Reference into a Vat for the first time and by the Vat when exporting an Object Reference from it for the first time.
29+
30+
### vso
31+
32+
A vso, or _vat syscall object_, represents a request from a vat to the kernel.

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,7 @@ purposes only.
3131
### Adding new packages
3232

3333
See [`packages/create-package/README.md`](packages/create-package/README.md).
34+
35+
## References
36+
37+
- [Glossary](./GLOSSARY.md)

0 commit comments

Comments
 (0)