CoercedSlot
From Erights
Revision as of 04:27, 8 November 2008 by Kevin Reid (Talk | contribs)
This is a module used by the guard-based auditing proposal, though it can stand alone.
CoercedSlots implement the Slot protocol. They hold a single value, and the guard it was coerced by; they are immutable.
Contents |
Maker
run/3
run(guard, specimen, ejector) :CoercedSlot
Makes a CoercedSlot holding the result of guard.coerce(specimen, ejector).
attempt/2
attempt(guard, value) :CoercedSlot
As run/1 unless the guard ejects, in which case the resulting slot's guard will be LostApproval[guard].
Protocol
getGuard/0
- Signature: getGuard() :Guard
__optUncall/0
- Signature: __optUncall() :Portrayal
Returns a portrayal in terms of #attempt/1.