pub type Intent = IKun;Aliased Type§
pub enum Intent {
Show 70 variants
Constant(i64),
FloatConstant(u64),
BooleanConstant(bool),
StringConstant(String),
None,
Symbol(String),
Import(String, String),
Export(String, usize),
Module(String, Vec<usize>),
Map(usize, usize),
Filter(usize, usize),
Reduce(usize, usize, usize),
StateUpdate(usize, usize),
Choice(usize, usize, usize),
Repeat(usize, usize),
LifeCycle(usize, usize),
Meta(usize),
Trap(usize),
Return(usize),
Seq(Vec<usize>),
Compose(usize, usize),
WithContext(usize, usize),
WithConstraint(usize, usize),
CpuContext,
GpuContext,
AsyncContext,
SpatialContext,
ComptimeContext,
ResourceContext,
SafeContext,
EffectConstraint(Effect),
OwnershipConstraint(Ownership),
TypeConstraint(String),
AtomicConstraint,
Extension(String, Vec<usize>),
CrossLangCall(CrossLanguageCall),
SoALayout(usize),
AoSLayout(usize),
Tiled(usize, usize),
Unrolled(usize, usize),
Vectorized(usize, usize),
TiledMap(usize, usize, usize),
VectorizedMap(usize, usize, usize),
UnrolledMap(usize, usize, usize),
SoAMap(usize, usize),
GpuMap(usize, usize),
CpuMap(usize, usize),
Pipe(usize, usize),
Reg(usize),
Lambda(Vec<String>, usize),
Apply(usize, Vec<usize>),
Closure(usize, Vec<usize>),
ResourceClone(usize),
ResourceDrop(usize),
AddrOf(usize),
Deref(usize),
PtrOffset(usize, usize),
ClassDef(String, Vec<usize>, usize),
Table(Vec<usize>),
Pair(usize, usize),
GetIndex(usize, usize),
SetIndex(usize, usize, usize),
BinaryOp(String, usize, usize),
UnaryOp(String, usize),
StaticAccess(usize, usize),
WitnessAccess(usize, usize, usize),
DynamicAccess(usize, String, u32),
StaticCall(usize, Vec<usize>),
WitnessCall(usize, usize, usize, Vec<usize>),
DynamicCall(usize, String, Vec<usize>, u32),
}Variants§
Constant(i64)
FloatConstant(u64)
BooleanConstant(bool)
StringConstant(String)
None
None/Nil/Null constant
Symbol(String)
Import(String, String)
Import a symbol from another module: (ModuleName, SymbolName)
Export(String, usize)
Export a symbol: (SymbolName, Body)
Module(String, Vec<usize>)
A module container: (ModuleName, Items)
Map(usize, usize)
Filter(usize, usize)
Reduce(usize, usize, usize)
StateUpdate(usize, usize)
State update: (key, value)
Choice(usize, usize, usize)
Repeat(usize, usize)
LifeCycle(usize, usize)
LifeCycle: (setup, cleanup)
Meta(usize)
Meta: (body) for compile-time execution
Trap(usize)
Trap: (body) for error handling/interruption
Return(usize)
Return: (value) for returning from a function
Seq(Vec<usize>)
Compose(usize, usize)
WithContext(usize, usize)
WithConstraint(usize, usize)
CpuContext
GpuContext
AsyncContext
SpatialContext
ComptimeContext
ResourceContext
SafeContext
EffectConstraint(Effect)
OwnershipConstraint(Ownership)
TypeConstraint(String)
AtomicConstraint
Extension(String, Vec<usize>)
CrossLangCall(CrossLanguageCall)
Cross-language call
SoALayout(usize)
AoSLayout(usize)
Tiled(usize, usize)
Unrolled(usize, usize)
Vectorized(usize, usize)
TiledMap(usize, usize, usize)
Tiled version of a Map: (size, f, x)
VectorizedMap(usize, usize, usize)
Vectorized version of a Map: (width, f, x)
UnrolledMap(usize, usize, usize)
Unrolled version of a Map: (factor, f, x)
SoAMap(usize, usize)
SoA Layout applied to a Map: (f, x)
GpuMap(usize, usize)
CpuMap(usize, usize)
Pipe(usize, usize)
Declare a pipeline stage: (body, metadata)
Reg(usize)
Explicit register: (value)
Lambda(Vec<String>, usize)
Lambda definition: (params, body)
Apply(usize, Vec<usize>)
Function application: (func, args)
Closure(usize, Vec<usize>)
Closure capture: (body, captured_vars)
ResourceClone(usize)
Explicit Reference Count Clone: (target)
ResourceDrop(usize)
Explicit Reference Count Drop: (target)
AddrOf(usize)
Take address of a symbol/location: (target)
Deref(usize)
Dereference a pointer: (pointer)
PtrOffset(usize, usize)
Pointer arithmetic: (base, offset)
ClassDef(String, Vec<usize>, usize)
Class definition: (name, bases, body)
Table(Vec<usize>)
Table/Object initialization: (pairs)
Pair(usize, usize)
Key-value pair for table: (key, value)
GetIndex(usize, usize)
Get index: (receiver, index)
SetIndex(usize, usize, usize)
Set index: (receiver, index, value)
BinaryOp(String, usize, usize)
Binary operation: (op_name, left, right)
UnaryOp(String, usize)
Unary operation: (op_name, operand)
StaticAccess(usize, usize)
Static access: (receiver, offset)
WitnessAccess(usize, usize, usize)
Witness access: (receiver, witness_table, index)
DynamicAccess(usize, String, u32)
Dynamic access: (receiver, symbol_name, call_site_id)
StaticCall(usize, Vec<usize>)
Static call: (function, args)
WitnessCall(usize, usize, usize, Vec<usize>)
Witness call: (receiver, witness_table, index, args)
DynamicCall(usize, String, Vec<usize>, u32)
Dynamic call: (receiver, symbol_name, args, call_site_id)