Skip to main content

Crate ternlang_core

Crate ternlang_core 

Source
Expand description

§ternlang-core

Compiler and VM for Ternlang — balanced ternary language with affirm/tend/reject trit semantics, @sparseskip codegen, and BET (Balanced Encoded Ternary) bytecode execution.

§Quick start

use ternlang_core::{Trit, pack_trits, unpack_trits};

let trits = vec![Trit::Affirm, Trit::Tend, Trit::Reject];
let packed = pack_trits(&trits);
let round_tripped = unpack_trits(&packed, trits.len()).unwrap();
assert_eq!(trits, round_tripped);

Re-exports§

pub use types::trit::Trit;
pub use types::trit::TritBlock5;
pub use types::trit::pack_5_trits;
pub use types::trit::unpack_5_trits;
pub use trit::Trit as LegacyTrit;
pub use vm::bet::pack_trits;
pub use vm::bet::unpack_trits;
pub use vm::bet::BetFault;
pub use vm::BetVm;
pub use vm::Value as VmValue;
pub use lexer::Token;
pub use parser::Parser;
pub use semantic::SemanticAnalyzer;
pub use codegen::betbc::BytecodeEmitter;
pub use stdlib::StdlibLoader;
pub use stdlib::ModuleResolver;
pub use ast::*;

Modules§

ast
codegen
lexer
parser
semantic
stdlib
trit
types
vm
wasm_simd
WebAssembly (Wasm) Edge Domination via v128 SIMD