ternlang-core 0.3.3

Compiler and VM for Ternlang — balanced ternary language with affirm/tend/reject trit semantics, @sparseskip codegen, and BET bytecode execution.
Documentation
// Module:  stdlib/models/gpt_analog.tern
// Purpose: Causal Language Model (GPT) in Ternary
// Author:  RFI-IRFOS
// Ref:     https://ternlang.com

// Autoregressive generation. Tend signals 'end of thought' or 'uncertain'.

struct TritGPT {
    layers: int,
    w: trittensor<4 x 4>
}

fn causal_mask_trit(seq_len: int) -> trittensor<4 x 4> {
    // Returns a zero-initialized mask (future tokens default to tend/0)
    let mask: trittensor<4 x 4>;
    return mask;
}

fn next_token_trit(logits: trittensor<4 x 1>) -> trit {
    let t: trit = logits[0, 0];
    match t {
        affirm => { return affirm; }
        tend   => { return tend;   } // Uncertainty in generation
        reject => { return reject; }
    }
}

fn generate_trit(model: TritGPT, prompt: trittensor<4 x 1>) -> trit {
    @sparseskip
    let out: trittensor<4 x 1> = matmul(model.w, prompt);
    return next_token_trit(out);
}