Skip to main content

Intent

Type Alias Intent 

Source
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)