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.
The Service Key
The Keeper
To Rescind or Revoke
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
Synthetic Objects
Capability Parameters
Continuous Evaluation
metering data flow
Congestion Pricing

Vague Patterns

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