pub enum IKun {
Show 53 variants
Constant(i64),
FloatConstant(u64),
BooleanConstant(bool),
StringConstant(String),
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),
}Variants§
Constant(i64)
FloatConstant(u64)
BooleanConstant(bool)
StringConstant(String)
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)
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)
Trait Implementations§
Source§impl<'de> Deserialize<'de> for IKun
impl<'de> Deserialize<'de> for IKun
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<IKun, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<IKun, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Ord for IKun
impl Ord for IKun
Source§impl PartialOrd for IKun
impl PartialOrd for IKun
Source§impl Serialize for IKun
impl Serialize for IKun
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl Eq for IKun
impl StructuralPartialEq for IKun
Auto Trait Implementations§
impl Freeze for IKun
impl RefUnwindSafe for IKun
impl Send for IKun
impl Sync for IKun
impl Unpin for IKun
impl UnwindSafe for IKun
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more