The Scaly Programming Language

The Scaly Programming Language

The reference of the language: what a program says and what it means, from a first program to the grammar.

Start readingTake the tour in the browserThe PDF

Contents

  1. 1Introduction
    1. 1.1Overview
    2. 1.2A Language Still Changing
  2. 2Tutorial
    1. 2.1Getting Started
    2. 2.2Using Scaly with Visual Studio Code on macOS and Linux
    3. 2.3Scaly on Windows
    4. 2.4A Tour of Scaly
    5. 2.5Putting It Together
  3. 3Lexical Structure
    1. 3.1Overview
    2. 3.2Whitespace and Line Breaks
    3. 3.3Comments
    4. 3.4Literals
    5. 3.5Operators and Special Symbols
    6. 3.6Identifiers
  4. 4Type System
    1. 4.1Overview
    2. 4.2Intrinsic Types (Future Direction)
    3. 4.3Type Aliases (Future Direction)
    4. 4.4Backend Preludes (Future Direction)
    5. 4.5Literal Type Inference
    6. 4.6Tuples and the Empty Tuple
    7. 4.7References
    8. 4.8Parameter Passing
    9. 4.9Constructors
    10. 4.10Lambdas and Closures
    11. 4.11Error Handling
    12. 4.12Union Types
    13. 4.13Generics
    14. 4.14Lifetimes and Memory Regions
  5. 5Grammar
  6. 6Definitions
    1. 6.1Overview
    2. 6.2Functions, Procedures, and Operators
    3. 6.3Definitions
  7. 7Expressions
    1. 7.1Overview
    2. 7.2Literals
    3. 7.3Operations
    4. 7.4Tuples and Function Values
    5. 7.5Comparison Operators
    6. 7.6Boolean Operators
    7. 7.7Bitwise Operators
    8. 7.8Lambdas
    9. 7.9Choose Expressions
    10. 7.10Optional Types
    11. 7.11Variant Construction
  8. 8Control Flow
    1. 8.1Overview
    2. 8.2If Expressions
    3. 8.3While Loops
    4. 8.4For Loops
    5. 8.5Break and Continue
    6. 8.6Repeat Loops
    7. 8.7Mutable Variables
    8. 8.8Match
  9. 9Modules and Packages
    1. 9.1Overview
    2. 9.2Modules
    3. 9.3Packages
    4. 9.4Imports and Visibility
  10. AThe Tools
    1. A.1Installation
    2. A.2scaly
    3. A.3scalyc
    4. A.4scalyls
  11. BStandard Library and Packages
    1. B.1The Standard Library
    2. B.2Packages Beside It
  12. CBootstrap History and the Seed
  13. DOn the Shoulders of Giants
    1. D.1The Text of a Program
    2. D.2Names and Values
    3. D.3Control Flow
    4. D.4Types and Definitions
    5. D.5Memory
    6. D.6Self-Scaling
    7. D.7Modules and Packages
    8. D.8An Unexpected Ancestor
    9. D.9And What Is Scaly's Own?
    10. D.10The Implementation