1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//! tclrs — Tcl as a fusevm frontend.
//!
//! Pipeline: `parser` turns a script into [`parser::Script`] → the compiler
//! (phase 2) lowers each command to a `fusevm::Chunk` → fusevm executes it and
//! calls back into the host for Tcl-specific operations. Execution and codegen
//! live in fusevm; there is no bespoke VM or JIT here.
//!
//! Tcl's value model needs no object heap on top of fusevm's: strings, integers
//! and floats map onto `Value` directly, and a value keeps its numeric
//! representation until something demands its string form. That deferral is the
//! point — the reference interpreter re-derives string representations inside
//! hot loops.
//!
//! Execution reaches for fusevm's higher tiers, not just its interpreter: every
//! VM this crate builds has the three-tier Cranelift JIT armed
//! ([`runtime::install_hooks`]), [`aot`] compiles a script to a native object
//! and links it into a standalone binary, and [`tiers`] reports which of those
//! tiers a given script's bytecode actually reaches.
pub use ;
pub use ;