1. Introduction
  2. User Guide
  3. Setup
    1. Installation
    2. Syntax Highlighting
    3. Language Server Setup
    4. FIP Setup
  4. Syntax Cheatsheet
  5. Basics
    1. Comments
  6. Guides
  7. From Beginner to Intermediate
    1. Basics
      1. The Hello World Program
      2. Compiling the Program
      3. Comments in Flint
      4. Indentation in Flint
    2. Variables and Types
      1. Primitive Types
      2. Variables
      3. Inferred Typing
      4. Operators
      5. Type Casting
      6. String Interpolation
    3. Control Flow
      1. The bool Type
      2. Boolean Operations
      3. Branching
      4. Loops
      5. Enums
      6. Switch
    4. Functions
      1. What is a Function?
      2. Adding Parameters
      3. Returning Values
      4. Recursion
      5. Returning Multiple Values
      6. Groups
    5. Data: The Core of Flint
      1. Declaring Data Modules
      2. Default Values
      3. Nested Data
      4. Using Data in Functions
      5. Tuples
      6. Multi-Types
      7. Groups 2
    6. Arrays & Ranges
      1. Introduction to Arrays
      2. Iterating Over Arrays
      3. Strings
      4. Multidimensional Arrays
      5. Enhanced for Loop
      6. CLI Arguments
      7. Ranges
      8. Access Patterns
      9. Multidimensional Access Patterns
    7. Imports
      1. The use Clausel
      2. Circular Dependencies
      3. Import Aliasing
    8. Core Modules
      1. print
      2. read
      3. assert
      4. filesystem
      5. env
      6. system
      7. math
      8. random
      9. time
      10. parallel
    9. Entities & Func modules
      1. Monolithic Entities: The Basics
      2. Func Modules: Modularizing Behavior
      3. From Monolithic to Modular Entities
      4. Using Multiple Data and Func Modules
      5. Extending Entities
    10. Links & Hooks
    11. Interop
      1. Introduction
      2. Defining External Functions
      3. Interop Modules
      4. Signatures
      5. Pointer Types
      6. extern vs export
    12. Game Example
      1. Introduction
      2. Using raylib
  8. From Intermediate to Expert
    1. Optionals
      1. Introduction
      2. Unwrapping
      3. Comparing Optionals
      4. Null Coalescing Operator
      5. Switching on Optionals
      6. Optional Chaining
      7. Optionals as References
      8. List Example
    2. Variants
      1. Introduction
      2. Switching on Variants
      3. Tagged Variants
      4. Inline Variants
      5. Variant Comparison
      6. Unwrapping Variants
      7. Variant Extraction
      8. Optional Variants
    3. Error Sets
      1. Introduction
      2. Error Set Refinement
      3. Function Signatures
      4. The Error Structure
      5. Error Context
      6. Throwing Anonymous Errors
      7. Internals
      8. Best Practices
      9. Error Switch Inlining
      10. Inferring the Error Variant
      11. Linearization
    4. Callables & Variable Persistence
      1. Introduction
      2. The fn Type
      3. Argument Binding
      4. Persistence
      5. Callbacks
      6. Event Systems
      7. Higher order Functions
      8. Introduction to the Thread Stack
      9. The 5 Call Steps
      10. Performance Optimization
    5. Pipes
      1. Introduction
      2. Chaining Operations
      3. Composing Functions
    6. Blueprints
      1. Introduction
      2. The bp Type
      3. Linearization
      4. fn Implications
      5. Higher order Functions
      6. The Eval Function
      7. Performance Implications
    7. Compile-Time Evaluation
    8. Generics
    9. Generic Library Example
  9. From Expert to Master
    1. Paralellism
      1. How DOCP makes parallelism trivial
      2. The parallel Core module
    2. Concurrency & shared data
      1. Understanding Concurrency
      2. Spawning Threads
      3. Syncronizing Threads
      4. Locking Resources
      5. The Thread Stack
      6. Threading Internals
      7. Shared Data
      8. Annotations
    3. Async Compute
    4. FIP Internals & IM authoring
    5. DIMA Internals
      1. Slots
      2. Blocks
      3. Heads
      4. Defragmentation
      5. Slot Pinning
      6. Annotations
    6. DOCP Internals
      1. Compile-Time Dispatch Tables
      2. Entity Call Dispatch