Enum timi::machine::MachinePrimOp [] [src]

pub enum MachinePrimOp {
    Add,
    Sub,
    Mul,
    Div,
    Negate,
    G,
    GEQ,
    L,
    LEQ,
    EQ,
    NEQ,
    Construct {
        tag: DataTag,
        arity: u32,
    },
    If,
    CasePair,
    CaseList,
    Undef,
}

Primitive operations that are implemented directly in the machine

Variants

Add two machine integers

Subtract two machine integers

Multiply two machine integers

Divide two machine integers

Negate a machine integer

Compare two integers and return if LHS > RHS

Compare two integers and return if LHS >= RHS

Compare two integers and return if LHS < RHS

Compare two integers and return if LHS >= RHS

Compare two integers and return if LHS == RHS

Compare two integers and return if LHS != RHS

Construct a complex object which is tagged with DataTag and takes arity number of components.

Fields of Construct

Tag used to disambiguate between different data objects

number of components that the complex object has.

Check a predicate and run the then or else clause

Explode a tuple and pass the left and right components of a tuple to a function

Perform case analysis on a list.

Undefined. Machine will quit on reaching this address. Useful for testing code that should never run

Trait Implementations

impl Clone for MachinePrimOp
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl PartialEq for MachinePrimOp
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl Eq for MachinePrimOp
[src]

impl Debug for MachinePrimOp
[src]

Formats the value using the given formatter.