Appendix D: Glossary

**Key terms and concepts.**

NanoLang Mascot

A

**AST (Abstract Syntax Tree)** - Tree representation of source code structure

**Array** - Fixed-size, ordered collection of same-type elements

C

**Canonical Style** - The ONE correct way to write each NanoLang construct

**cond** - Expression-level conditional (returns value)

**Coverage** - Measurement of code execution during testing

E

**Extern** - Function defined in C, callable from NanoLang

F

**FFI (Foreign Function Interface)** - Mechanism to call C functions

H

**HashMap** - Key-value collection with O(1) lookup

L

**LLM-First** - Design principle optimizing for AI code generation

O

**Opaque Type** - Type whose internal structure is hidden

P

**Prefix Notation** - Function calls and operator expressions of the form (f x y) instead of f(x, y). NanoLang uses prefix notation for function calls and supports both prefix (+ a b) and infix a + b notation for binary operators

**Property Testing** - Testing with randomly generated inputs

S

**Self-Hosting** - Compiler written in the language it compiles

**Shadow Test** - Compile-time test block attached to function

**stdlib** - Standard library (built-in modules)

T

**Transpiler** - Compiler that converts NanoLang to C

**TUI (Text User Interface)** - Terminal-based user interface

U

**Unsafe Block** - Code region that can call extern functions

---

**Previous:** Appendix C: Troubleshooting