nustack

sequence

Sequence family: an ordered collection in a shape fabric.

Module nu.domains.shape.sequence.

Sequence family: an ordered collection in a shape fabric.

Forms weave the Python sequence surface with the shape collection ops, tier by tier, and type every result by what the slot declared: an element reads as the declared value's form, and a slice carries the declared element type on.

Refs add descent. ref[i] is the child ref at that position, built by the fabric from the declared value; a slice stays a value.

NameSortCallMeaning
MutableSequenceRefrefMutableSequenceRef(address, parent_ref=None, owner_shape=None)Mutable ordered container Ref.
ReactiveSequenceRefrefReactiveSequenceRef(address, parent_ref=None, owner_shape=None)Reactive ordered container Ref.
SequenceRefrefSequenceRef(address, parent_ref=None, owner_shape=None)Ordered container Ref; ref[i] navigates to the element's child Ref.

MutableSequenceRef

Mutable ordered container Ref.

MutableSequenceRef(address, parent_ref=None, owner_shape=None)

Path nu.domains.shape.MutableSequenceRef. Kind Ref, sort ref, cardinality scalar.

Adds: append(v), extend(), insert(i,v), pop(), ..., store(v), erase().

Inherited methods

From nu.forms.collections.abc.sequence.MutableSequenceForm:

CallBuildsMeaning
.append(value)AnyAppend value to the end of self.
.extend(other)AnyExtend self with the elements of other, in order.
.insert(index, value)AnyInsert value at index, shifting later elements right.
.pop(index=-1)ElementResultTRemove and return the element at index.
.del_at(index)AnyRemove the element at index.
.remove(value, missing_ok=False)AnyRemove the first occurrence of value.
.reverse()AnyReverse self in place.
.sort()AnySort self in place, ascending, using the elements' natural order.
.copy()CollectionResultTShallow copy of self: a new sequence with the same elements.
.clear()AnyRemove every element from self.

From nu.domains.shape.sequence.SequenceRef:

CallBuildsMeaning
a[key]StructuredRefInt index navigates to the child Ref; slice routes to the form-level slice op.

From nu.domains.shape.sequence.SequenceForm:

CallBuildsMeaning
.iter()IteratorA lazy stream over its elements, typed by the declared value.

From nu.forms.collections.abc.sequence.SequenceForm:

CallBuildsMeaning
.first_elem()ElementResultTFirst element of self.
.last_elem()ElementResultTLast element of self.
.index(value)IntLowest index in self where value is found, searching from the left.
.count(value)IntCount of occurrences of value in self.
.reversed()CollectionResultTSelf walked back to front, as a stream.

From nu.forms.collections.abc.collection.CollectionForm:

CallBuildsMeaning
.extract()objectMaterialise the full subtree rooted at self.

From nu.forms.collections.abc.sized.SizedForm:

CallBuildsMeaning
.len()IntLength of self.

From nu.forms.collections.abc.container.ContainerForm:

CallBuildsMeaning
.contains(item)BoolWhether item is a member of self.

From nu.forms.collections.abc.sliceable.SliceableForm:

CallBuildsMeaning
.slice(start, stop, step=None)ResultTSlice of self from start to stop, stepping by step.

From nu.domains.shape.collection.MutableCollectionForm:

CallBuildsMeaning
.set(value)SetCmdBuild a SetCmd.
.erase()EraseBuild an Erase.
.init(value)IfDoSet value iff the collection is currently missing.

From nu.domains.shape.collection.CollectionForm:

CallBuildsMeaning
.exists()BoolWhether this collection slot holds a value, as a Bool.
.missing()BoolWhether this slot holds no value, as a Bool: the negation of exists().

From nu.lang.forms.Form:

CallBuildsMeaning
a == bBoolSelf equal to other by value: an Eq term, never a Python bool.
a != bBoolSelf not equal to other by value: a Ne term, never a Python bool.
.is_empty()BoolTrue if this Form yields the EMPTY sentinel.
.not_empty()BoolTrue if this Form does not yield EMPTY.
.fallback(*alternatives)SelfThe first of this value and alternatives that is not EMPTY.

Undocumented: example.

ReactiveSequenceRef

Reactive ordered container Ref.

ReactiveSequenceRef(address, parent_ref=None, owner_shape=None)

Path nu.domains.shape.ReactiveSequenceRef. Kind Ref, sort ref, cardinality scalar.

Adds: on_change(), on_child_change(), on_children_change(), on_descendants_change() on top of MutableSequenceRef.

Inherited methods

From nu.forms.collections.abc.sequence.ReactiveSequenceForm:

CallBuildsMeaning
.on_change()objectSubscribe to any change on this sequence slot.

From nu.forms.collections.abc.sequence.MutableSequenceForm:

CallBuildsMeaning
.append(value)AnyAppend value to the end of self.
.extend(other)AnyExtend self with the elements of other, in order.
.insert(index, value)AnyInsert value at index, shifting later elements right.
.pop(index=-1)ElementResultTRemove and return the element at index.
.del_at(index)AnyRemove the element at index.
.remove(value, missing_ok=False)AnyRemove the first occurrence of value.
.reverse()AnyReverse self in place.
.sort()AnySort self in place, ascending, using the elements' natural order.
.copy()CollectionResultTShallow copy of self: a new sequence with the same elements.
.clear()AnyRemove every element from self.

From nu.domains.shape.sequence.SequenceRef:

CallBuildsMeaning
a[key]StructuredRefInt index navigates to the child Ref; slice routes to the form-level slice op.

From nu.domains.shape.sequence.SequenceForm:

CallBuildsMeaning
.iter()IteratorA lazy stream over its elements, typed by the declared value.

From nu.forms.collections.abc.sequence.SequenceForm:

CallBuildsMeaning
.first_elem()ElementResultTFirst element of self.
.last_elem()ElementResultTLast element of self.
.index(value)IntLowest index in self where value is found, searching from the left.
.count(value)IntCount of occurrences of value in self.
.reversed()CollectionResultTSelf walked back to front, as a stream.

From nu.forms.collections.abc.collection.CollectionForm:

CallBuildsMeaning
.extract()objectMaterialise the full subtree rooted at self.

From nu.forms.collections.abc.sized.SizedForm:

CallBuildsMeaning
.len()IntLength of self.

From nu.forms.collections.abc.container.ContainerForm:

CallBuildsMeaning
.contains(item)BoolWhether item is a member of self.

From nu.forms.collections.abc.sliceable.SliceableForm:

CallBuildsMeaning
.slice(start, stop, step=None)ResultTSlice of self from start to stop, stepping by step.

From nu.domains.shape.collection.ReactiveCollectionForm:

CallBuildsMeaning
.on_child_change(address)OnChildChangeObserve writes at one child's own address; for its subtree use on_descendants_change.
.on_children_change()OnChildrenChangeObserve writes at the direct children only; for subtrees use on_descendants_change.
.on_descendants_change()OnDescendantsChangeObserve changes across descendants matching pattern.

From nu.domains.shape.collection.MutableCollectionForm:

CallBuildsMeaning
.set(value)SetCmdBuild a SetCmd.
.erase()EraseBuild an Erase.
.init(value)IfDoSet value iff the collection is currently missing.

From nu.domains.shape.collection.CollectionForm:

CallBuildsMeaning
.exists()BoolWhether this collection slot holds a value, as a Bool.
.missing()BoolWhether this slot holds no value, as a Bool: the negation of exists().

From nu.lang.forms.Form:

CallBuildsMeaning
a == bBoolSelf equal to other by value: an Eq term, never a Python bool.
a != bBoolSelf not equal to other by value: a Ne term, never a Python bool.
.is_empty()BoolTrue if this Form yields the EMPTY sentinel.
.not_empty()BoolTrue if this Form does not yield EMPTY.
.fallback(*alternatives)SelfThe first of this value and alternatives that is not EMPTY.

Undocumented: example.

SequenceRef

Ordered container Ref; ref[i] navigates to the element's child Ref.

SequenceRef(address, parent_ref=None, owner_shape=None)

Path nu.domains.shape.SequenceRef. Kind Ref, sort ref, cardinality scalar.

Navigation is defined once here and routes through _wrap_item_ref, the one hook that returns a ref rather than a form. It is a substrate plug-point on StructuredRef: the child is always a fabric's own ref, so the fabric's substrate base supplies it, and a fabric that leaves it out fails loudly.

Methods

a[key]

Int index navigates to the child Ref; slice routes to the form-level slice op.

Builds StructuredRef.

Arguments

NameTypeDefaultMeaning
indexobject

Undocumented: example.

Inherited methods

From nu.domains.shape.sequence.SequenceForm:

CallBuildsMeaning
.iter()IteratorA lazy stream over its elements, typed by the declared value.

From nu.forms.collections.abc.sequence.SequenceForm:

CallBuildsMeaning
.first_elem()ElementResultTFirst element of self.
.last_elem()ElementResultTLast element of self.
.index(value)IntLowest index in self where value is found, searching from the left.
.count(value)IntCount of occurrences of value in self.
.reversed()CollectionResultTSelf walked back to front, as a stream.

From nu.forms.collections.abc.collection.CollectionForm:

CallBuildsMeaning
.extract()objectMaterialise the full subtree rooted at self.

From nu.forms.collections.abc.sized.SizedForm:

CallBuildsMeaning
.len()IntLength of self.

From nu.forms.collections.abc.container.ContainerForm:

CallBuildsMeaning
.contains(item)BoolWhether item is a member of self.

From nu.forms.collections.abc.sliceable.SliceableForm:

CallBuildsMeaning
.slice(start, stop, step=None)ResultTSlice of self from start to stop, stepping by step.

From nu.domains.shape.collection.CollectionForm:

CallBuildsMeaning
.exists()BoolWhether this collection slot holds a value, as a Bool.
.missing()BoolWhether this slot holds no value, as a Bool: the negation of exists().

From nu.lang.forms.Form:

CallBuildsMeaning
a == bBoolSelf equal to other by value: an Eq term, never a Python bool.
a != bBoolSelf not equal to other by value: a Ne term, never a Python bool.
.is_empty()BoolTrue if this Form yields the EMPTY sentinel.
.not_empty()BoolTrue if this Form does not yield EMPTY.
.fallback(*alternatives)SelfThe first of this value and alternatives that is not EMPTY.

Undocumented: example.

On this page