I collect here some notes on programming patterns that are peculiar in some way to capability design. Some of these will be merely reframed patterns from the classic patterns literature; unmodified but perhaps with some hidden beauty revealed. Here are some patterns specific to Keykos. Most of these patters could be added to conventional kernels. All of them can be added to Keykos without modifying the kernel. Thus only the subjects of these patterns become vulnerable to bugs in the code that implements the pattern and this vulnerability is usually quite limited.
Multiplexing
Addressing
The Service Key
The Keeper
To Rescind or Revoke
Confinement
Caching of Computations
Immutable Source of Mutable Objects
A new Collection and style exploration
The Curried Creator
Wrapping ‘front ends’ in many of these pages
Facets
Synthetic Objects
Capability Parameters
Synergy
Continuous Evaluation
metering data flow
Congestion Pricing
More

Vague Patterns

Reservations
Authority held by Objects, not by Code
Patterns from classic computer programming languages
To adapt an object with the right function but wrong interface
Copy on write
virtual mutable distributed segment