nustack
Catalogue

Query

Value-producing atoms. READ-only effects (pure unless a child reads). Sub-shapes: ScalarQuery, StreamQuery, Reduction (Scalar with stream child), Literal (trivial Scalar).

Core only - shapes and ext/ not included.

Literal

NameSub-shapeSignatureEffectMeaning
LiteralScalarQueryLiteral(value)purepure leaf - holds and yields a value

Comparison

NameSub-shapeSignatureEffectMeaning
EqScalarQueryEq(left, right)pureleft == right (commutative)
NeScalarQueryNe(left, right)pureleft != right (commutative)
GtScalarQueryGt(left, right)pureleft > right
LtScalarQueryLt(left, right)pureleft < right
GeScalarQueryGe(left, right)pureleft >= right
LeScalarQueryLe(left, right)pureleft <= right
IdCompScalarQueryIdComp(a, b)pureidentity comparison (is)

Logical

NameSub-shapeSignatureEffectMeaning
NotScalarQueryNot(operand)purelogical NOT
BoolScalarQueryBool(operand)purebool(operand)
AndScalarQueryAnd(left, right)pureshort-circuit conjunction
OrScalarQueryOr(left, right)pureshort-circuit disjunction

Arithmetic

NameSub-shapeSignatureEffectMeaning
NegScalarQueryNeg(operand)pure-operand
PosScalarQueryPos(operand)pure+operand
AbsScalarQueryAbs(operand)pureabs(operand)
AddScalarQueryAdd(left, right)pureleft + right
SubScalarQuerySub(left, right)pureleft - right
MulScalarQueryMul(left, right)pureleft * right
DivScalarQueryDiv(left, right)pureleft / right
FloorDivScalarQueryFloorDiv(left, right)pureleft // right
ModScalarQueryMod(left, right)pureleft % right
PowScalarQueryPow(left, right)pureleft ** right

Bitwise

NameSub-shapeSignatureEffectMeaning
BitwiseNotScalarQueryBitwiseNot(operand)pure~operand
BitwiseAndScalarQueryBitwiseAnd(left, right)pureleft & right
BitwiseOrScalarQueryBitwiseOr(left, right)pureleft | right
XorScalarQueryXor(left, right)pureleft ^ right
LShiftScalarQueryLShift(left, right)pureleft << right
RShiftScalarQueryRShift(left, right)pureleft >> right

Conversion

NameSub-shapeSignatureEffectMeaning
ToIntScalarQueryToInt(operand)pureint(operand)
ToFloatScalarQueryToFloat(operand)purefloat(operand)
ToBoolScalarQueryToBool(operand)purebool(operand)
ToStrScalarQueryToStr(operand)purestr(operand)
ToBytesScalarQueryToBytes(operand, encoding)purebytes(operand)
ToListScalarQueryToList(operand)purelist(operand)
ToSetScalarQueryToSet(operand)pureset(operand)
ToTupleScalarQueryToTuple(operand)puretuple(operand)

Sentinel

NameSub-shapeSignatureEffectMeaning
IsEmptyScalarQueryIsEmpty(operand)pureoperand is EMPTY
NotEmptyScalarQueryNotEmpty(operand)pureoperand is not EMPTY
IsInvalidScalarQueryIsInvalid(operand)pureoperand is INVALID
NotInvalidScalarQueryNotInvalid(operand)pureoperand is not INVALID

Access

NameSub-shapeSignatureEffectMeaning
LenScalarQueryLen(operand)purelen(operand)
AtScalarQueryAt(left, right)pureleft[right]
SliceScalarQuerySlice(operand, start, stop, step)pureoperand[start:stop:step]
ContainsScalarQueryContains(left, right)pureright in left

Attr

NameSub-shapeSignatureEffectMeaning
GetAttrScalarQueryGetAttr(instance, attr_name)puregetattr
SetAttrScalarQuerySetAttr(instance, attr_name, value)puresetattr
DelAttrScalarQueryDelAttr(instance, attr_name)puredelattr

Slice

NameSub-shapeSignatureEffectMeaning
TakeScalarQueryTake(iterable, n)purefirst n elements
DropScalarQueryDrop(iterable, n)puredrop first n elements

Combine

NameSub-shapeSignatureEffectMeaning
ZipScalarQueryZip(*operands)purezip iterables
ChainScalarQueryChain(*operands)purechain iterables
EnumerateScalarQueryEnumerate(iterable, start)pureenumerate with start

Transform

NameSub-shapeSignatureEffectMeaning
SortedScalarQuerySorted(iterable, reverse)puresorted list
ReversedScalarQueryReversed(operand)purereversed iterator
PluckScalarQueryPluck(iterable, key)pureextract field per element
FilterByScalarQueryFilterBy(iterable, field, value)purefilter by field equality
FlattenScalarQueryFlatten(operand)pureflatten one level
UniqueScalarQueryUnique(operand)pureunique elements, order kept

Reduce

NameSub-shapeSignatureEffectMeaning
SumScalarQuerySum(operand)puresum of elements
MinElemScalarQueryMinElem(operand)pureminimum element
MaxElemScalarQueryMaxElem(operand)puremaximum element
AnyElemScalarQueryAnyElem(operand)pureany truthy element
AllElemScalarQueryAllElem(operand)pureall truthy

Reduction (Scalar with stream child)

NameSub-shapeSignatureEffectMeaning
FirstReductionFirst(stream)purefirst yield, or EMPTY
LastReductionLast(stream)purelast yield, or EMPTY
CollectReductionCollect(stream)puredrain stream into a list
ReduceReductionReduce(stream, fn, initial)purefold with a Python callable

Iter-reduce (stream-shaped reductions)

NameSub-shapeSignatureEffectMeaning
FindReductionFind(items, condition, item)purefirst item where condition holds, else None
FindIndexReductionFindIndex(items, condition, item)pureindex of first match, -1 if none
GroupByReductionGroupBy(items, key, item)pure{key: [items]} grouped by key
PartitionReductionPartition(items, condition, item)pure(matches, rest) split by condition
ToDictReductionToDict(items, key, value, item)puredict from key/value over each item

Stream

Source

NameSub-shapeSignatureEffectMeaning
IterStreamQueryIter(source)pureopen a scalar iterable as a stream
MapRangeStreamQueryMapRange(start, stop, body, step=1, item="index")purewalk range(start, stop, step), run body per index, flat-concat results

Transform

NameSub-shapeSignatureEffectMeaning
MapStreamQueryMap(items, transform, item)pureyield transform(item) per element
MapFnStreamQueryMapFn(items, transform)purelike Map, transform is a python callable
FlatMapFnStreamQueryFlatMapFn(items, transform)puretransform returns stream/iterable per item, flat-concat results
FilterStreamQueryFilter(items, condition, item)pureyield items where condition is true
FilterFnStreamQueryFilterFn(items, predicate)purelike Filter, predicate is a python callable
TakeWhileStreamQueryTakeWhile(items, condition, item)pureyield while condition holds
UniqueDoStreamQueryUniqueDo(items, key, item)pureyield items with unseen key

FlatMapFn snapshot caveat: when the source is a lazy ref and the transform reads fields via separate lazy refs across sibling subtrees, the auto-wrapper cannot cover both sides. Wrap the whole FlatMapFn(...) term in nv.Snapshot(..., scope=...) manually so source iteration and per-element reads share one generation.

Fold

NameSub-shapeSignatureEffectMeaning
FoldStreamQueryFold(items, acc, initial, item, body)purestateful sequential reduction over a stream

Control

NameSub-shapeSignatureEffectMeaning
IfScalarQueryIf(condition, then_branch, else_branch)pureconditional Query
SwitchScalarQuerySwitch(selector, cases, default)puremulti-way Query branch on selector value

Timing

NameSub-shapeSignatureEffectMeaning
TimedScalarQueryTimed(body, label)purerun body, return wall-clock duration

On this page