diff --git a/docs/advanced_topics.md b/docs/advanced_topics.md index 8bd4876..df6aea3 100644 --- a/docs/advanced_topics.md +++ b/docs/advanced_topics.md @@ -107,6 +107,6 @@ The standard library provides I/O, string operations, type conversions, and util - Combinators: `map`, `filter`, `reduce`, `each` - Manipulation: `concat`, `reverse`, `transpose`, `window` -> **Complete Reference**: See Appendix A for the full standard library reference with all functions, signatures, and examples. +> **Complete Reference**: See [Appendix A](./standard_library.html) for the full standard library reference with all functions, signatures, and examples. --- diff --git a/docs/basic_operations.md b/docs/basic_operations.md index 8603b4c..63ffbab 100644 --- a/docs/basic_operations.md +++ b/docs/basic_operations.md @@ -36,7 +36,7 @@ roll // ( n times -- ) Rotate n items, times times 1 2 3 depth // => 1 2 3 3 ``` -> **Implementation Details**: Stack operations implement the `::Stackable` trait. See Appendix B for the complete trait definition. +> **Implementation Details**: Stack operations implement the `::Stackable` trait. See [Appendix B](./complete_trait_reference.html) for the complete trait definition. ### 4.2 Arithmetic Operators @@ -61,7 +61,7 @@ Basic arithmetic operations work on numeric types: 2 10 ^ // => 1024 ``` -> **Implementation Details**: Arithmetic operators implement the `::Addable`, `::Multiplyable`, `::Exponentiable`, and `::Logarithmic` traits. See Appendix B for complete trait definitions and Appendix C for the full operator reference. +> **Implementation Details**: Arithmetic operators implement the `::Addable`, `::Multiplyable`, `::Exponentiable`, and `::Logarithmic` traits. See [Appendix B](./complete_trait_reference.html) for complete trait definitions and [Appendix C](./complete_operator_reference.html) for the full operator reference. ### 4.3 Comparison Operators @@ -83,7 +83,7 @@ Comparison operations return boolean values: 10 5 < // => false ``` -> **Implementation Details**: Comparison operators implement the `::Orderable` and `::Equatable` traits. See Appendix B for complete trait definitions. +> **Implementation Details**: Comparison operators implement the `::Orderable` and `::Equatable` traits. See [Appendix B](./complete_trait_reference.html) for complete trait definitions. ### 4.4 Logical Operators @@ -105,7 +105,7 @@ false not // => true 5 0 and // => 0 (falsy) ``` -> **Implementation Details**: Logical operators implement the `::Logical` trait. See Appendix B for the complete trait definition and truthiness rules. +> **Implementation Details**: Logical operators implement the `::Logical` trait. See [Appendix B](./complete_trait_reference.html) for the complete trait definition and truthiness rules. ### 4.5 Bitwise Operators @@ -128,6 +128,6 @@ Bitwise operations work on integer types: 4 2 shl // => 16 ``` -> **Implementation Details**: Bitwise operators implement the `::Bitwise` trait. See Appendix B for the complete trait definition. +> **Implementation Details**: Bitwise operators implement the `::Bitwise` trait. See [Appendix B](./complete_trait_reference.html) for the complete trait definition. --- diff --git a/docs/data_structures.md b/docs/data_structures.md index eeecf98..0b44f40 100644 --- a/docs/data_structures.md +++ b/docs/data_structures.md @@ -45,7 +45,7 @@ point ::x get // Get x field (consumes point and ::x) point dup ::x get 2 * over ::y get + // (point.x * 2) + point.y ``` -> **Note**: Structs can be generic. See Section 10.3 for details on generic data structures. +> **Note**: Structs can be generic. See [Section 10.3](./generic_programming.html#103-generic-data-structures) for details on generic data structures. ### 7.2 Unions @@ -74,9 +74,9 @@ Option::None // Creates Option::None "error" Result::Err // Creates Result::Err("error") ``` -**Pattern Matching**: Unions are typically used with pattern matching (Section 6.5) to handle different variants. +**Pattern Matching**: Unions are typically used with pattern matching ([Section 6.5](./control_flow.html#65-pattern-matching)) to handle different variants. -> **Note**: Unions can be generic. See Section 10.3 for details on generic data structures. +> **Note**: Unions can be generic. See [Section 10.3](./generic_programming.html#103-generic-data-structures) for details on generic data structures. ### 7.3 Enums @@ -151,6 +151,6 @@ These operations take TokenString arguments containing function bodies: [1 2 3 4] 2 window // Sliding window: [[1 2] [2 3] [3 4]] ``` -> **Implementation Details**: Array operations implement various traits including `::ArrayOf`, `::Selectable`, `::Sliceable`, and `::Sized`. See Appendix B for complete trait definitions and Appendix A for the full array operation reference. +> **Implementation Details**: Array operations implement various traits including `::ArrayOf`, `::Selectable`, `::Sliceable`, and `::Sized`. See [Appendix B](./complete_trait_reference.html) for complete trait definitions and [Appendix A](./standard_library.html) for the full array operation reference. --- diff --git a/docs/functions.md b/docs/functions.md index 48958ae..41cb1b3 100644 --- a/docs/functions.md +++ b/docs/functions.md @@ -15,7 +15,7 @@ Functions differ from operators: - **Functions** are user-defined procedures that use operators - Operators and functions cannot share names -> **Related**: See Section 1 "Operators vs Functions" for a complete explanation of the distinction. +> **Related**: See [Section 1 "Operators vs Functions"](./overview.html#operators-vs-functions) for a complete explanation of the distinction. ### 5.2 Defining Functions @@ -39,9 +39,9 @@ The function signature specifies stack effects (what is consumed and produced), 10 3 divmod // => 3 1 (quotient remainder) ``` -**Function Bodies**: The `{ }` braces contain a TokenString that is parsed as the function body when the function is defined. See Section 5.5 for details on TokenStrings. +**Function Bodies**: The `{ }` braces contain a TokenString that is parsed as the function body when the function is defined. See [Section 5.5](./functions.html#55-token-strings) for details on TokenStrings. -> **Related**: See Section 10.2 for generic functions with type parameters. +> **Related**: See [Section 10.2](./generic_programming.html#102-generic-functions) for generic functions with type parameters. ### 5.3 Calling Functions @@ -133,6 +133,6 @@ The `lambda` operator converts a TokenString into a callable code block that can [1 2 3 4] double map // => [2 4 6 8] ``` -> **Related**: See Section 11.1 for the `eval` operator used to execute lambdas. +> **Related**: See [Section 11.1](advanced_topics.html#111-dynamic-code-evaluation) for the `eval` operator used to execute lambdas. --- diff --git a/docs/generic_programming.md b/docs/generic_programming.md index 968f1e0..c70a5d5 100644 --- a/docs/generic_programming.md +++ b/docs/generic_programming.md @@ -173,6 +173,6 @@ When inheriting from generic traits, you must either: (Multiplyable -- Multiplyable) { dup * } ::square fn ``` -> **Future Enhancement**: See Appendix F for planned type parameter enforcement at parse time. +> **Future Enhancement**: See [Appendix F](./memory_management.html) for planned type parameter enforcement at parse time. --- diff --git a/docs/lexical_structure.md b/docs/lexical_structure.md index 77e3e52..2a0869a 100644 --- a/docs/lexical_structure.md +++ b/docs/lexical_structure.md @@ -24,7 +24,7 @@ Next: Primitive Types - Example: `::Addable` pushes the identifier `Addable` onto the stack - Example: `::Point` pushes the identifier `Point` onto the stack -> **Advanced Usage**: See Section 11.2 for complete identifier literal rules and context-dependent behavior. +> **Advanced Usage**: See [Section 11.2](./advanced_topics.html#112-identifier-literals) for complete identifier literal rules and context-dependent behavior. ### 2.3 Literals diff --git a/docs/primitive_types.md b/docs/primitive_types.md index 93b4df7..506a811 100644 --- a/docs/primitive_types.md +++ b/docs/primitive_types.md @@ -32,7 +32,7 @@ You can explicitly annotate literal types: **Pointer Types** -Raw pointers (`ptr`) are a future feature. See Appendix F for the planned pointer type system. +Raw pointers (`ptr`) are a future feature. See [Appendix F](./memory_management.html) for the planned pointer type system. > **Related**: See Section 8 for the complete type system, including composite types and type inference. diff --git a/docs/trait_system.md b/docs/trait_system.md index aa511f3..d9e308f 100644 --- a/docs/trait_system.md +++ b/docs/trait_system.md @@ -27,7 +27,7 @@ The language provides many built-in traits: - `::Number` - Composite numeric operations - And many more... -> **Complete Reference**: See Appendix B for all standard trait definitions with complete documentation. +> **Complete Reference**: See [Appendix B](./complete_trait_reference.html) for all standard trait definitions with complete documentation. ### 9.2 Defining Traits @@ -95,7 +95,7 @@ Traits can have methods or be empty (marker traits). Empty traits are typically } ::Rectangle impl ``` -> **More Examples**: See Appendix G for complete implementation examples and tutorials. +> **More Examples**: See [Appendix G](./examples_and_tutorials.html) for complete implementation examples and tutorials. ### 9.4 Trait Inheritance @@ -171,7 +171,7 @@ Traits can be used as type constraints in function signatures: ### 9.6 Standard Traits Overview -This section provides a brief overview of all standard traits. For complete definitions with all methods and documentation, see Appendix B. +This section provides a brief overview of all standard traits. For complete definitions with all methods and documentation, see [Appendix B](./complete_trait_reference.html). **Stack Operations**: - `::Stackable` - Fundamental stack manipulation (dup, drop, swap, over, rot, pick, roll, depth) @@ -213,6 +213,6 @@ This section provides a brief overview of all standard traits. For complete defi - `::Identifier` - Marks identifiers - `::Implementable` - Meta-trait for defining language constructs (trait, impl, inher) -> **Complete Reference**: See Appendix B for full trait definitions with all methods, examples, and implementation details. +> **Complete Reference**: See [Appendix B](./complete_trait_reference.html) for full trait definitions with all methods, examples, and implementation details. --- diff --git a/docs/type_system.md b/docs/type_system.md index c5a3d5c..950beae 100644 --- a/docs/type_system.md +++ b/docs/type_system.md @@ -51,7 +51,7 @@ The language distinguishes between types (what things are) and traits (how thing } ::Point impl ``` -> **Related**: See Section 9 for the complete trait system and Appendix B for all standard trait definitions. +> **Related**: See [Section 9](trait_system.html) for the complete trait system and [Appendix B](./complete_trait_reference.html) for all standard trait definitions. ### 8.2 Type Inference @@ -86,7 +86,7 @@ parse // May need type context to know what to parse to "hello" identity // T inferred as String ``` -> **Related**: See Section 10 for generic programming and type parameter inference. +> **Related**: See [Section 10](./generic_programming.html) for generic programming and type parameter inference. ### 8.3 Type Tuples