Slot

From Erights

(Difference between revisions)
Jump to: navigation, search
m (Reverted edits by Zarutian (Talk); changed back to last version by Kevin Reid)
(correct slot type names)
Line 6: Line 6:
* [[FinalSlot]]
* [[FinalSlot]]
-
* [[VarSlot]]
+
* [[SimpleSlot]]
 +
* [[GuardedSlot]]
* [[LamportSlot]]
* [[LamportSlot]]

Revision as of 21:18, 31 March 2008

A Slot is an object which provides the behavior of the binding of a noun. "&" in the E language allows working with slots.

A slot can also be considered a zero-dimensional collection, i.e. one which has exactly one element.

Contents

Notable implementations

Protocol

get/0

get() :any

Returns the current value of this slot.

put/1

put(newValue :any) :void

Sets the current value to the (possibly coerced) provided value, if appropriate for this type of slot; throws if not allowed.

isFinal/0

isFinal() :boolean

Says whether the Slot acts like a FinalSlot -- successive get()s on the same slot will always give the same value.

Note that final implies read-only, but read-only does not imply final.

readOnly/0

readOnly() :Slot

Returns a facet allowing get/0 but not put/1.

Personal tools
more tools