Glossary
This glossary lists the core Mojo terms with short definitions.
Term | Definition |
---|---|
variable | Named storage (name, type, address, value) owning its value unless borrowed (See: Variables; Ownership; Copy & move; References) |
identifier | Symbolic name bound to a value/type/function (See: Variables) |
uninitialized variable | Declared name without a valid value yet (See: Variables) |
shadowing | Inner-scope variable hides an outer one (See: Variables) |
dunder method | Special protocol method __name__ (e.g. __copyinit__ ) (See: Generics & Traits; Copy & move) |
literal | Source constant forming a value (See: Literals; Data types) |
L-value / R-value | Addressable value vs temporary / literal (See: Literals; Copy & move) |
constructor | Type-named creator / converter (See: Data types; Copy & move) |
implicit copy | Automatic = copy for cheap types (See: Copy & move; Ownership) |
implicit copyable | Conforming type enabling implicit copy (See: Copy & move) |
implicit copy mechanism | Language feature triggering auto copy (See: Copy & move) |
explicit copy | .copy() producing a new independent value (See: Copy & move; Ownership) |
deep copy | Copy duplicating nested / heap data (See: Copy & move; Composite) |
move / transfer | Ownership hand-off via ^ (See: Copy & move; Ownership) |
move-capable type | Type whose values can be moved with ^ (See: Copy & move; Ownership) |
transfer operator ^ | Symbol marking ownership move (See: Copy & move; Ownership) |
ownership | One-owner model ensuring safety (See: Ownership; Lifetimes) |
owner | Unique controller of a value lifetime (See: Ownership; Lifetimes) |
owner destruction | End of owner lifetime releasing value (See: Ownership; Lifetimes) |
borrow | Non-owning access (reference or pointer) (See: Ownership; References; Lifetimes) |
borrower | Any reference or pointer without ownership (See: Ownership; References) |
reference (alias) | Same-type same-address alias (See: References; Ownership) |
alias | Alternate name to same value (See: References) |
mutable reference | Alias permitting mutation (See: References) |
immutable reference | Read-only alias (See: References) |
safe pointer | Pointer with target + origin metadata (See: References; Ownership) |
unsafe pointer | Pointer lacking lifetime tracking (See: References; Ownership) |
dereferencing operator | [] to access pointee (See: Ownership; References) |
isolated status | Independent owned value (See: Ownership) |
referenced status | Alias-based access (See: Ownership) |
pointed status | Indirect through safe pointer (See: Ownership) |
unsafe status | Access via unsafe pointer (See: Ownership; References) |
unsafe code | Code using unchecked constructs (See: Ownership) |
dangling pointer | Pointer to freed / reused memory (See: Ownership; References; Lifetimes) |
dangling reference | Alias used after owner ended (See: Ownership; References; Lifetimes) |
memory leak | Lost allocation unreleased (See: Ownership) |
double free | Duplicate deallocation attempt (See: Ownership) |
accidental overwriting | Unintended mutation (See: Ownership) |
lifetime | Valid duration of a value (See: Lifetimes; Ownership) |
lifetime annotation | Syntax tying borrower to origin (See: Lifetimes; References) |
origin | Source owner metadata (See: Lifetimes) |
origin chain | Linked borrowing lineage (See: Lifetimes) |
parametric mutability | Mutability encoded as parameter (See: References; Parameterization) |
compile time | Static analysis & validation phase (See: Ownership; Parameterization) |
run time | Execution phase for values (See: Ownership) |
SIMD | Fixed-size homogeneous vector (See: SIMD; Parameterization) |
SIMD lane | Single element position (See: SIMD) |
parameterization | Compile-time specialization (See: Parameterization; Generics & Traits) |
parameter | Compile-time argument in [] (See: Parameterization; Generics & Traits) |
generic | Trait-constrained polymorphic pattern (See: Generics & Traits; Parameterization) |
generic function | Function with trait-bounded type params (See: Generics & Traits) |
trait | Behavioral contract (See: Generics & Traits) |
conformance | Meeting all trait requirements (See: Generics & Traits) |
default implementation | Trait-provided method body (See: Generics & Traits) |
implicit trait conformance | Naming-based satisfaction (See: Generics & Traits) |
trait placeholder ... | Ellipsis marking requirement (See: Generics & Traits) |
overflow | Integer wrap-around (See: Data types) |
BigInt | Arbitrary-precision integer (See: DeciMojo) |
stack | Fast scoped fixed-size storage (See: Layout; Ownership) |
heap | Dynamic allocation region (See: Layout; Ownership) |
contiguous memory | Sequential addresses (See: Layout; Composite) |
metadata (list) | Header: pointer, length, capacity (See: Composite; Layout) |
capacity (list) | Reserved element slots (See: Composite) |
list element layout | Consecutive element storage (See: Composite; Layout) |
StringLiteral | Immutable inline string form (See: String; Copy & move) |
materialization (string) | Converting to mutable String (See: String; Structs) |
stack vs heap optimization (String) | Small-string inline optimization (See: Structs; String) |
vault metaphor | Variables as vaults at addresses (See: Ownership) |